notes



monospace;

chasse fixe : police de caractères à chasse fixe, ou monochasse,tous les caractères ont le même espacement


ignorer casse:


ignore case,case sensitive
sans ou avec distinction entre les caractères minuscules et majuscules


clé usb:

il est possible de faire plusieurs partitions sur une clé usb avec différents types de formatages grâce à gparted
cela permet d'utiliser votre clé sur différents ordinateurs


for:

créer des fichiers à partir d'une liste
for i in `cat liste.txt`; do > ${i}; done


cp:

remplacer -name par -iname pour ignorer la casse

pour copier les fichiers finissant par .ogg du repertoire titi vers le dossier toto en respectant la casse
find /home/mon-login/titi -type f -name "*.ogg" -exec cp  {} /home/mon-login/toto/ ;

pour copier les fichiers où se trouve la chaîne de caractères mi du repertoire titi vers le dossier toto en respectant la casse
find /home/mon-login/titi -type f -name "*mi*" -exec cp  {} /home/mon-login/toto/ ;

pour copier les fichiers commençant par mi du repertoire titi vers le dossier toto en respectant la casse
find /home/mon-login/titi -type f -name "mi*" -exec cp  {} /home/mon-login/toto/ ;

pour copier à partir d'une liste vers un répertoire
xargs --verbose -a liste.txt cp --target-directory /home/rob/

ou
cat liste.txt | xargs cp --target-directory /home/rob/

ou en trouvant les documents .mid d'un répertoire
find /home/rob/mes-documents/mes-sons  -name "*.mid"  | xargs cp --target-directory /home/rob/

ou
trouver les documents .wav d'un dossier et les copier vers un autre dossier
for i in *.wav ; do cp "$i" /media/disk/rob/ ; done


mv:

pour déplacer à partir d'une liste vers un répertoire

cat liste.txt | xargs mv --target-directory /home/rob/

xargs --verbose -a liste.txt mv --target-directory /home/rob/

ou en trouvant les documents .mid d'un répertoire
find /home/rob/mes-documents/mes-sons  -name "*.mid"  | xargs mv --target-directory /home/rob/


dépaqueter repaqueter:

après la création d'un paquet binaire debian
il est possible d'ajouter quelques modifications dedans
d'abord installer les utilitaires en console administrateur
apt-get install dpkg-dev deb-gview gdebi

créer en simple user un dossier de travail: test
mkdir /home/mon-login/test
mon-login est votre répertoire personnel
placer le paquet à corriger mon-logiciel_0.0.1_amd64.deb dedans
puis extraire les fichiers du paquet mon-logiciel
dpkg-deb -x /home/mon-login/test/mon-logiciel_0.0.1_amd64.deb  /home/mon-login/test/mon-logiciel
puis créer le dossier debian dans mon-logiciel
mkdir /home/mon-login/test/mon-logiciel/DEBIAN
puis extraire les documents à corriger dans DEBIAN avec
dpkg-deb -e /home/mon-login/test/mon-logiciel_0.0.1_amd64.deb  /home/mon-login/test/mon-logiciel/DEBIAN
pour éditer le document control        
gedit /home/mon-login/test/mon-logiciel/DEBIAN/control
puis ajouter les informations manquantes,enregistrer
ensuite modifier les composants à installer
ensuite il faut recréer les sommes de controles des éléments à installer
cd /home/mon-login/test/mon-logiciel
md5sum `find usr -type f` > DEBIAN/md5sums
le nouveau document md5sums créé a remplacé l'ancien
puis mettre tous les dossiers et fichiers sources en propriétaire root et groupe root
chown -R -v root:root /home/mon-login/test
puis reconstituer le paquet debian
dpkg-deb -b /home/mon-login/test/mon-logiciel /home/mon-login/test/mon-logiciel_0.0.2_amd64.deb
le nouveau paquet mon-logiciel_0.0.2_amd64.deb est maintenant disponible dans le dossier test
puis mettre les droits comme utilisateur dessus
chown -v mon-login:mon-login /home/mon-login/test/mon-logiciel_0.0.2_amd64.deb
vous pouvez controler le résultat avec
dpkg -c /home/mon-login/test/mon-logiciel_0.0.2_amd64.deb
vous pouvez controler les différences avec deb-gview
vous pouvez le tester en l'installant sur l'ordinateur simplement grace à dpkg -i ou gdebi si il a besoin de dépendances en plus


repack:

la commande en root: dpkg-repack mon-paquet
permet de recomposer un paquet installé sur votre système,attention vos données de configurations personnelles seront intégrées


ajouter la date:

date
on peut ajouter à la création d'un fichier ou d'un dossier
exemple:
date +"%A-%d-%B-%Y--%Hh-%Mm-%Ss"
donne:
dimanche-30-mai-2010--15h-34m-12s
exemple:
mkdir koko-le-`date +"%A-%d-%B-%Y--%Hh-%Mm-%Ss"`
touch koko-le-`date +"%A-%d-%B-%Y--%Hh-%Mm-%Ss"`


compilation d'une source:

installer d'abord dh-make,dpkg-dev,gcc
travailler en console administrateur root
créer un dossier de travail test dans votre repertoire personnel de documents
il faut placer la source à compiler logiciel.tar.gz dans un repertoire sans espace dans tout son chemin /home/mon-login/test/logiciel-0.0.1.tar.gz
desarchiver la source (extraire)  vous obtenez un dossier logiciel-0.0.1
mettre tous les dossiers et les fichiers en propriétaire root et groupe root par la commande:
chown -R -v root:root /home/moi/test
renommer logiciel-0.0.1.tar.gz en old-logiciel-0.0.1.tar.gz puis réarchiver le dossier logiciel-0.0.1 en logiciel_0.0.1.orig.tar.gz
vous avez donc logiciel_0.0.1.orig.tar.gz et logiciel-0.0.1
aller dans le dossier logiciel-0.0.1
commande:cd logiciel-0.0.1
commande:  dh_make                                       
choisir dans les options qui vous sont proposées:s pour simple paquet,puis valider
un dossier debian sera créé dans logiciel-0.0.1
aller dans ce dossier debian,éditez le document control,ajouter y les indications nécéssaires
c'est pour l'utilitaire apt de téléchargement de paquets binaires
les dépendances du paquet sont ajoutées automatiquement à la compilation de la source

exemple du fichier /DEBIAN/control:

Package: gtick
Version: 0.4.2-2
Architecture: amd64
Maintainer: Roland Stigge <stigge@antcom.de>
Installed-Size: 740
Depends: libatk1.0-0 (>= 1.20.0), libc6 (>= 2.2.5), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.8.0), libpango1.0-0 (>= 1.14.0), libsndfile1 (>= 1.0.20), oss-compat
Section: sound
Priority: extra
Homepage: http://www.antcom.de/gtick/
Description: Metronome application
 GTick is an acoustical and graphical metronome application (usually used to
 support musicians at practising an instrument). It features a scale from 30 to
 250 beats per minute and 2/4, 3/4, 4/4 and other meters. You need a sound
 device for using it.

commande en console root: dpkg-buildpackage
dans le dossier logiciel-0.0.1
la compilation de la source se déroule sous vos yeux
le binaire éxécutable se trouvera fabriqué et disponible dans le repertoire src du dossier logiciel-0.0.1
puis le paquet debian sera créé et se trouve maintenant à coté de la source desarchivée logiciel-0.0.1 ainsi que la source debianisée
mettre les droits comme utilisateur sur le paquet

pour vérifier le contenu du paquet binaire obtenu
commande en user:dpkg -c logiciel_0.0.1-1_amd64.deb



plantage logiciel:

les pilotes de périphériques,absence ou incompatibilitées
les prioritées des pilotes de périphériques
les options de pilotes de périphériques
les permissions sur les périphériques
dans certains cas il faut éffacer les documents de configuration d'un logiciel dans votre home et le redémarrer le programme
dans d'autres cas il faut redémarrer le logiciel pour créer ses documents de configuration dans votre home
aussi créer les liens (symlink) nécéssaires vers des librairies
ajouter soi même les dépendances non inscrites dans le document control du paquet logiciel
ajouter ou blacklister des pilotes pour le démarrage de l'ordinateur
mettre à jour les firmwares de vos périphériques
document .pid de processus à effacer
port déjà utilisé par un processus serveur
manque d'allocation mémoire


plantages matériel:

la surchauffe de l'ordinateur provoque l'instabilité de son fonctionnement
tous les appareils électroniques et les batteries ont des plages de températures d'utilisations et de stockages spécifiques
au moins tous les mois,il faut enlever la poussière du radiateur en cuivre,ordinateur débranché,grâce à un aspirateur réglé en basse puissance
aussi les faux contacts,les soudures défectueuses,l'humidité,l'oxydation,la condensation
aussi la mémoire insufisante ou défaillante,voir memtest86+ pour cela
une tension secteur de mauvaise qualité
des rayonnements radio-électriques dans l'environnement


nettoyage:

utiliser l'aspirateur à faible puissance au lieu de soufflage d'air froid,a cause du choc thermique


claws:

claws est un client mail
installer aussi les modules:
claws-mail-fancy-plugin = lecteur webkit des mails en html
claws-mail-pgpmime = chiffrage des mails
claws-mail-trayicon = icône avec notification de nouveau message


ddclient:

les services de redirections d'adresses "ip dynamique" sont maintenant en payeware
exemple:

# Configuration for ddclient scripts
# generated from debconf on mardi 23 octobre 2012, 16:29:26 (UTC+0200)
#
# /etc/default/ddclient

# Set to "true" if ddclient should be run every time a new ppp connection is
# established. This might be useful, if you are using dial-on-demand.
run_ipup="false"

# Set to "true" if ddclient should run in daemon mode
# If this is changed to true, run_ipup must be set to false.
run_daemon="true"

# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.
daemon_interval="300"

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2
use=web, web=checkip.dyndns.com, web-skip='IP Address'
server=members.dyndns.org
login=toto
password='mot-de-passe-de-toto''
toto.dyndns.org


inskape:

pour convertir tous les fichiers .svg en documents .pdf dans un dossier
for i in *.svg; do inkscape --without-gui --export-pdf="$(basename $i .svg).pdf" $i ; done


sed:

pour supprimer les lignes 10 à 20 des fichiers .txt dans le repertoire
find . -type f -name "*.txt" -exec sed -i'' "10,20d" {} ;

\n c'est le retour à la ligne
pour effacer les retours à la ligne
cat texte1.txt | tr -d '\n' > texte2.txt

pour remplacer les <br><br> par <br><br>\n     
cat texte1.txt | sed 's/<br><br>/<br><br>\n/g' > texte2.txt

pour ajouter <br><br> à la fin des lignes
cat texte1.txt | sed 's/$/<br><br>/' > texte2.txt

pour ajouter <br><br> au début des lignes
cat texte1.txt | sed 's/^/<br><br>/' > texte2.txt

la touche tabulation est à gauche du clavier,deux flèches inversées
pour remplacer les tabulations \t par =          
cat texte1.txt | sed 's/\t/=/g' > texte2.txt

pour effacer ab
cat texte1.txt | sed 's/ab//g' > texte2.txt

pour effacer les lignes vides
cat texte1.txt |sed '/./!d' > texte2.txt


rsync:

pour faire un miroir de /home/rob/mes-documents/ vers /media/6f4b2c68-4edf-41d5-9103-d1251c604cc7/rob/mes-documents/

sur un ordinateur en mode simulation -n:
rsync -rtpgvoltuxn --stats --progress --delete-after /home/rob/mes-documents/ /media/6f4b2c68-4edf-41d5-9103-d1251c604cc7/rob/mes-documents/


vers un serveur en mode simulation -n:
rsync -e ssh -rpgvoltuxn --stats --progress --delete-after --exclude="/dossier1" --exclude="/dossier2" /var/www/mon-site-web/ root@adresse-ip-du-serveur:/var/www/mon-site-web/


depuis un serveur en mode simulation -n:
rsync -e ssh -rpgvoltuxn --stats --progress --delete-after --exclude="/dossier1" --exclude="/dossier2" root@adresse-ip-du-serveur:/var/www/mon-site-web/ /var/www/mon-site-web/


attention:les résultats des lignes de commandes peuvent varier selon l'utilisateur qui se connecte sur chaque coté,ainsi que l'utilisation des options -g -o
les options:

 -v, --verbose               plus loquace
 -q, --quiet                 moins loquace
 -c, --checksum              utilise la somme de contrôle, pas la date ni la taille
 -a, --archive               mode archivage; identique à -rlptgoD (pas -H)
 -r, --recursive             visite récursive des répertoires
 -R, --relative              utilise des noms de chemins relatifs
     --no-relative           désactive --relative
     --no-implied-dirs       ne transmet pas les répertoires implicites de -R
 -b, --backup                effectue des sauvegardes (cf. --suffix et --backup-dir)
     --backup-dir=RÉP        effectue des sauvegardes dans le répertoire RÉP
     --suffix=SUFFIXE        suffixe de sauvegarde («~» par défaut sauf si --backup-dir)
 -u, --update                saute les fichiers plus récents chez le destinataire
     --inplace               mise à jour de fichiers sur place
 -d, --dirs                  ne transfert pas les répertoires récursivement
 -l, --links                 copie les liens symboliques comme liens symboliques
 -L, --copy-links            transforme les liens symboliques par les fichiers référencés
     --copy-unsafe-links     ne transforme que les liens «non-sûrs»
     --safe-links            ignore les liens extérieurs à l'arborescence
 -H, --hard-links            préserve les liens matériels
 -K, --keep-dirlinks         traite les liens de répertoire comme des répertoires
 -p, --perms                 préserve les permissions
 -o, --owner                 préserve le propriétaire (root uniquement)
 -g, --group                 préserve le groupe
 -D, --devices               préserve les périphériques (root uniquement)
 -t, --times                 préserve les dates
 -O, --omit-dir-times        omet les répertoires lors de la préservation de date
 -S, --sparse                traite les fichiers à trous efficacement
 -n, --dry-run               montre ce qui aurait été transféré
 -W, --whole-file            copie les fichiers entiers (jamais l'algorithme rsync)
     --no-whole-file         toujours utiliser l'algorithme rsync incrémental
 -x, --one-file-system       ne traverse pas les limites du système de fichiers
 -B, --block-size=TAILLE     force la taille de bloc de la somme de contrôle
 -e, --rsh=COMMANDE          spécifie un shell distant
     --rsync-path=PROGRAMME  spécifie le nom de l'exécutable rsync chez le récepteur
     --existing              met à jour uniquement les fichiers qui existent déjà
     --ignore-existing       ignore les fichiers qui existent déjà
     --remove-sent-files     les fichiers envoyés sont supprimés de chez l'émetteur
     --del                   synonyme pour --delete-during
     --delete                efface les fichiers qui n'existent pas chez l'émetteur
     --delete-before         efface avant le transfert (par défaut)
     --delete-during         efface au cours du transfert, pas avant
     --delete-after          efface après transfert, pas avant
     --delete-excluded       efface également les fichiers exclus côté réception
     --ignore-errors         efface même s'il y a eu des erreurs E/S
     --force                 force la suppression de répertoires même non-vides
     --max-delete=NUM        n'efface pas plus de NUM fichiers
     --max-size=TAILLE       ne transfert le fichiers plus gros que TAILLE
     --partial               conserve les fichiers partiellement transférés
     --partial-dir=RÉP       place les fichiers partiellement transférés dans RÉP
     --delay-updates         ne remplace les fichiers mis à jour qu'à la fin
     --numeric-ids           ne remplace pas les uid/gid par des noms d'utilisateur/groupe
     --timeout=DURÉE         fixe la durée d'attente E/S en secondes
 -I, --ignore-times          ne saute pas les fichiers similaires par la taille et la date
     --size-only             saute les fichiers qui sont similaires par la date
     --modify-window=NUM     compare les dates avec une précision moins fine
 -T  --temp-dir=RÉP          crée des fichiers temporaires dans le répertoire RÉP
 -y, --fuzzy                 se base sur des fichiers similaires si le fichier manque
     --compare-dest=RÉP      compare les fichiers transmis également à RÉP
     --copy-dest=RÉP         ...et inclut les fichiers non modifiés
     --link-dest=RÉP         crée un lien matériel vers les fichiers de RÉP si non modifiés
 -z, --compress              transfert en compressant les données
 -C, --cvs-exclude           ignore automatiquement des fichiers, comme le ferait CVS
 -f, --filter=RÈGLE          ajoute une règle de filtrage de fichier
 -F                          identique à --filter='dir-merge /.rsync-filter'
                             deuxième fois : --filter='- .rsync-filter'
     --exclude=MOTIF         exclut les fichiers correspondant au MOTIF
     --exclude-from=FICHIER  lit des motifs d'exclusion depuis FICHIER
     --include=MOTIF         n'exclut pas les fichiers correspondant au MOTIF
     --include-from=FICHIER  lit des motifs d'inclusion depuis FICHIER
     --files-from=FICHIER    lit des fichiers à transférer depuis FICHIER
 -0, --from0                 tous les fichiers des *-from/filtres sont séparés par 0
     --address=ADRESSE       se lie à l'adresse pour la connexion sortante vers le démon
     --port=PORT             spécifie un autre numéro de port rsyncd
     --blocking-io           utilise des E/S bloquantes pour le shell distant
     --no-blocking-io        désactive les E/S bloquantes
     --stats                 affiche quelques statistiques de transfert de fichiers
     --progress              montre l'avancement pendant le transfert
 -P                          équivalent à --partial --progress
 -i, --itemize-changes       affiche un résumé des changements pour chaque mise à jour
     --log-format=FORMAT     affiche les noms fichiers selon le format spécifié
     --password-file=FICHIER lit le mot de passe depuis FICHIER
     --list-only             liste les fichiers au lieu de les copier
     --bwlimit=KBPS          limite la bande passante E/S, En ko par seconde
     --write-batch=FICHIER   enregistre les modifications dans FICHIER
     --only-write-batch=FICHIER comme --write-batch sans mettre à jour la destination
     --read-batch=FICHIER    exécute le fichier de modification FICHIER
     --protocol=NUM          force l'utilisation d'un protocole rsync version NUM
     --checksum-seed=NUM     spécifie la graine pour la somme de contrôle
 -4, --ipv4                  préfère IPv4
 -6, --ipv6                  préfère IPv6
     --version               affiche le numéro de version
 -h, --help                  affiche cet écran d'aide


pure-ftp:

pour un client ftp l'affichage est tronqué par défaut à 2000 fichiers et 8 sous dossiers  par le serveur pure-ftp
pour modifier ses valeurs,ajouter un document LimitRecursion dans /etc/pure-ftpd/conf/
en console root:
touch /etc/pure-ftpd/conf/LimitRecursion
puis ajouter vos valeurs:
echo 5000 100 > /etc/pure-ftpd/conf/LimitRecursion
redemarrer le serveur:
service pure-ftpd restart


copier coller du texte dans firefox:

selectionner le champ à couper puis utiliser les touches ctrl + x pour couper
selectionner le champ à copier puis utiliser les touches ctrl + c pour copier
déplacer le curseur puis utiliser les touches ctrl + v pour coller le champ copié


hostname host:

hostname est le nom de l'ordinateur comme www,il se trouve dans /etc/hostname
host est le nom de domaine comme toto.com,il se trouve dans /etc/hosts
le nom complet fqdn de l'ordinateur sur internet est www.toto.com,www indique qu'il sert de serveur http de pages web


dépot local de paquet debian:

commande en console utilisateur dans le dossier où se trouve les paquets:
touch override && dpkg-scanpackages ./ override | gzip > ./Packages.gz && rm override && chmod -R 755 ./
le document Packages.gz est créé,le fichier override est effacé et les propriétés des fichiers mises à 755
Packages indique au programme apt les paquets disponibles dans le dossier ainsi que leurs dépendances
exemple d'adresse de dépôt local de paquets debian,dans  le document /etc/apt/sources.list
deb file:///media/d08fad41-cf8d-42d1-936a-8e85de164a33/mes-documents/mes-paquets/ ./


compilation d'une source debian:

une source debianisée est en plusieurs fichiers,exemple avec le logiciel métronome gtick v0.3.12
aller dans telechargements/gtick/
mettre ses trois éléments dans un dossier /home/mon-login/test
1. gtick_0.3.12.orig.tar.gz est la source de gtick
2. gtick_0.3.12-1.diff.gz donne les patches correctifs
3. gtick_0.3.12-1.dsc indique les dépendances de compilations nécéssaires,avec les numéros de versions
vérifier dans gtick_0.3.12-1.dsc que les Build-Depends pour gtick-0.3.12: debhelper (>= 4), libgtk2.0-dev, libsndfile1-dev sont bien installées sur votre système
toutes les dépendances de constructions ne sont pas toujours présentes dans le .dsc
puis en console root aller dans le dossier de test avec la commande: cd /home/mon-login/test
puis désarchiver gtick_0.3.12.orig.tar.gz avec la commande: dpkg-source -x gtick_0.3.12-1.dsc
le dossier gtick-0.3.12 est créé et les modifications du document diff ajoutés à gtick-0.3.12
puis aller dans gtick-0.3.12 avec la commande: cd gtick-0.3.12
puis construire le paquet binaire avec la commande: debian/rules binary
le paquet binaire gtick_0.3.12-1_i386.deb est créé dans test
il est installable en root avec la commande dans le mème dossier: dpkg -i gtick_0.3.12-1_i386.deb


xine:

totem-xine utilise xine,le document catalog.cache listant les décodeurs audios et vidéos et leurs priorités se trouve dans /home/votre-login/.xine


les digits,le traitement des fichiers numérotés:

exemple avec le programme en ligne de commande pdftk:
pdftk *.pdf cat output all.pdf
cette commande rassemble tous les documents .pdf d'un dossier dans un document all.pdf encore faut il que les .pdf soit bien numérotés
ceci afin de préserver l'ordre d'origine des pages
si votre document all.pdf est composé d'un nombre de pages à 3 chiffres,le numéro du premier .pdf doit être 001.pdf donc
pdftk all.pdf burst output %03d.pdf
cette commande désassemble le document all.pdf en toutes ses pages .pdf dans un dossier et dans l'ordre nécéssaire,le %03d c'est parce que le document fait moins de mille pages
%02d donne 01
%03d donne 001
%04d donne 0001
%05d donne 00001


seahorse :

permet de gérer le chiffrement
d'abord générer la paire de clés,chiffrement déchiffrement gpg(donc 2 documents .asc)
confier votre clé de chiffrement à vos correspondants avec sa phrase de passe associée
la phrase de passe est une sécurité d'indentification en plus


grsync:

permet de faire des sauvegardes personnalisées,pour travailler entre deux ordis distant par le net
il faut lancer le serveur rsyncd sur l'ordinateur source et donner l'adresse de source pour grsync à l'ordinateur distant rsync://192.168.0.1/www
pour cela créer sur le serveur un document rsyncd.conf dans /etc comme:

#rsyncd.conf
pid file = /etc/rsyncd.pid
[www1]
comment = rsync1
path = /home/utilisateur/mes-documents
read only = yes
[www2]
comment = rsync2
path = /home/utilisateur/mes-romans
read only = yes


[www] est le nom de module choisi pour l'occasion
pid file c'est pour l'identification des processus en cours
path c'est le répertoire choisi

aussi dans /etc/defaults/rsync  mettre à true pour le choix demandé       RSYNC_ENABLE=true
demarrer le service avec la commande en mode administrateur     /etc/init.d/rsync start       ou restart
le serveur rsync écoute sur le port 873 par défault les demandes

il existe un bouton pour inverser la source et la destination,utiliser la simulation prévue pour vérifier et tester
les différentes options qui vous sont proposées


menu:

pour éditer les documents de /usr/share/applications
en console utilisateur dans le dossier:    gedit gprename.desktop    résultat:

[Desktop Entry]
Encoding=UTF-8
Version=2.2
Name=GPRename
Comment=To rename files and directories in batch
Exec=gprename
Icon=/usr/share/gprename/icon/gprename_icon.png
Terminal=false
Type=Application
Categories=Application;Tools;Utilities;Other;

les catégories: AudioVideo,Development,Education,Game,Graphics,Network,Office,Settings,System,Utility
les dossiers du menu: son et video, programmation,éducation, jeux,graphisme,internet,bureautique,préférences,système,accessoires


vlc:


il est possible de diffuser des documents et des flux audios vidéos
pour faire une webradio,une webtv ou une visioconférence en unicasting,broadcasting,peercasting ou multicasting tcp ou udp avec une webcam et un microphone
commande en console utilisateur:
vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/dsp" --sout '#transcode{vcodec=theo,vb=300,acodec=vorb,ab=64}:duplicate{dst=display,dst=std{access=http,mux=ogg,dst=:1234}}'
et aussi
vlc v4l:/dev/video0:size=640x480:adev=/dev/dsp --sout '#transcode{vcodec=theo,vb=300,acodec=vorb,ab=64}:duplicate{dst=display,dst=std{access=http,mux=ogg,dst=:1234}}'
ajouter -vvv après vlc pour le débogage
en cas de refus de diffuser changer d'encodage
la ligne indique le capturage,l'encodage et le streamage
/dev/video0 est le péripherique video
/dev/dsp est le péripherique audio
vcodec=theo theora est l'encodeur video
vb=300 est le debit video
acodec=vorb vorbis est l'encodeur audio
ab=64 est le debit audio
acces=http est le transport
mux=ogg est le conteneur de multiplexage audio video
dst=l'adresse et le port de diffusion
pour tester en reception,lancer un autre lecteur multimédia,indiquer lui l'adresse et le port de votre serveur
exemple: http://192.168.1.2:1234
pour le lecteur totem-xine dans son menu film/ouvrir un emplacement     indiquer   http://192.168.1.2:1234
votre reception apparait avec un léger retard sur l'emission
si vous choisissez un grand format vidéo,c'est à dire 640x480 ou plus,votre coprocesseur doit être capable d'encoder
le flux en direct,car il y aura chaque seconde plus de pixels à encoder


query:

pour obtenir la liste des paquets installés avec leurs numéros de version
en console utilisateur:
dpkg-query -W > liste-paquets-version.txt


grep:

chercher les lignes dans un dossier avec des documents .txt ou se trouve le mot include afficher et en créer une liste
find /home/rob/mes-documents/mes-textes  -name "*.txt"  | xargs grep include | tee /home/rob/liste.txt

chercher les lignes dans un dossier avec des documents .txt qui commence par le mot include afficher et en créer une liste
find /home/rob/mes-documents/mes-textes  -name "*.txt"  | xargs grep "^include" | tee /home/rob/liste.txt

récursif
find /home/rob/mes-documents/mes-textes  -name "*.txt"  | xargs grep include > /home/rob/liste1.txt
find /home/rob/mes-documents/mes-textes  -name "*.txt"  | xargs grep include | cut -d: -f1 > /home/rob/liste2.txt
find /home/rob/mes-documents/mes-textes  -name "*.txt"  | xargs grep include | cut -d: -f2 > /home/rob/liste2.txt

non récursif  sans les noms de fichiers
cat /home/rob/mes-documents/mes-textes/*.txt | grep include > /home/rob/liste3.txt

non récursif avec les noms de fichiers
grep include /home/rob/mes-documents/mes-textes/*.txt > /home/rob/liste4.txt

récursif (nom de fichiers)
grep -l include /home/rob/mes-documents/mes-textes/*.txt > /home/rob/liste4.txt

pour ignorer la casse
grep -i


rename:

commande utilisateur pour le renomage de fichiers dans un dossier
rename 's/[[:blank:]]/-/g' *  && rename 'y/A-Z/a-z/' *

récursif
à recommencer plusieurs fois pour un répertoire de dossier
find /home/rob/ogg -name "*" | rename  's/[[:blank:]]/-/g'
find /home/rob/ogg -name "*" | rename 'y/A-Z/a-z/'

à recommencer plusieurs fois pour un répertoire de dossier
find /home/rob/ogg -name "*" -exec rename  's/[[:blank:]]/-/g' '{}' \;
find /home/rob/ogg -name "*" -exec rename  'y/A-Z/a-z/' '{}' \;
on peut ajouter l'option -type avec find -type f   pour les fichiers  -type d  pour les dossiers


traduction

exemple en console utilisateur:
msgfmt -o logiciel.mo logiciel.po
logiciel.po est un document texte
logiciel.mo est la compilation
placer logiciel.mo dans le dossier /usr/share/locale/fr/LC_MESSAGES/


table de partition:

hda pour les disques pata ou sda pour les disques sata
commandes en console root,pour sauvegarder en root la table de partition du disque dur:
sfdisk -d /dev/hda > /chemin-du document/backup.table
pour restaurer la table de partition du disque hda:
sfdisk /dev/hda < /chemin-du-document/backup.table


vkeybd:

avec timidity client 128 port 0
commande en user:
vkeybd --addr 128:0 --octave 9


egrep:

trouver dans liste.txt toutes les lignes commençant par nom; ou prénom; ou surnom; en respectant la casse
egrep '^(nom|prénom|surnom);' liste.txt
trouver dans liste.txt toutes les lignes ou il y a nom; ou prénom; ou surnom; en respectant la casse
egrep '(nom|prénom|surnom);' liste.txt
trouver dans liste.txt toutes les lignes ou il y a nom ou prénom ou surnom sans respecter la casse
egrep -i 'nom|prénom|surnom' liste.txt
trouver dans le dossier test les documents intitulés nom ou prénom ou surnom sans respecter la casse
ls /home/rob/test | egrep -i 'nom|prénom|surnom'


clock-applet:

vous pouvez par le gconf-editor en user customizer votre affichage heure-date
ici:
/apps/panel/applets/clock_screen0/prefs/format      mettre custom
et ici:
/apps/panel/applets/clock_screen0/prefs/custom_format      mettre    %A %d %B %Y - %Hh %Mm %Ss
cela affichera la date et l'heure ainsi dans la zone de notification de votre écran
dimanche 30 mai 2010 - 15h 34m 12s


htaccess:

pour indiquer des options au serveur http,on peut ajouter un fichier .htaccess sur le site web
exemple de fichier .htaccess dans un répertoire indexé automatiquement:
IndexOptions Charset=UTF-8,met les noms indexés en caractères utf-8
IndexOptions NameWidth=*,permet les longs noms
IndexOptions HTMLTable SuppressDescription,suprime la colonne description


siggen:

installer aoss
ligne de commande: aoss siggen


passwd:

pour changer le mot de passe de l'administrateur root,commande en root:
passwd root
Entrez le nouveau mot de passe:
Retapez le nouveau mot de passe:
le mot de passe de root a été mis à jour avec succès

pour changer le mot de passe de l'utilisateur toto,commande en root:
passwd toto
Entrez le nouveau mot de passe:
Retapez le nouveau mot de passe:
le mot de passe de toto a été mis à jour avec succès


téléphonie:

Pour obtenir la tonalité vers la france
il faut composer l'indicatif "00 33" (00 pour l'international et 33 pour la gaule), suivi du numéro de votre correspondant sans le "0" au début.
Par exemple, le numéro 06 11 11 11 11 devient 00 33 6 11 11 11 11 si vous l'appelez depuis l'étranger.


triphasé:

l'ampèremètre mesure l'intensité apparente
le produit de la tension efficace et de l'intensité apparente donne la puissance apparente en voltampères,va
le wattmètre mesure la puissance active
le phimètre mesure le déphasage entre la tension et l'intensité
le rotaphase indique l'ordre de succession des phases

V=tension entre phase et neutre
U=tension entre phases

S=√3.U.I=3.V.I=VA=puissance apparente
P=√3.U.I.cos=3.V.I.cos=W=puissance active
Q=√3.U.I.sin=3.V.I.sin=VAR=puissance réactive


surtension:

on branche une diode en parrallèle avec une gache électrique courant continu,parce qu'il a une extra tension d'ouverture,c'est dù au bobinage de la gache,quand on relache le bouton d'ouverture de porte,cela use le contact du relais électrique
la diode montée en sens inverse du courant absorbe la surtension
on peut aussi utiliser une varistance (vdr = volt dependant resistor) pour le mème usage,a une tension définie,sa resistance chute,la surtension est ainsi absorbée


voltage:

la tension efficace alternative correspond à la valeur de la tension continue qui produit la mème intensité sur un résistance électrique
la tension de crète est le maximum de différence de potentiel apparaissant entre deux conducteurs électriques


luminaires fluos:

dans les luminaires à doubles tubes fluorescents à ballasts selfiques,il est ajouté sur un des deux circuits un condensateur en série avec le ballast,cela permet de diminuer l'effet de scintillement,parce que les deux lumières sont déphasées dans le temps


pdfgrep:

pour trouver une chaine de caractères dans une serie de documents .pdf
find . -iname "*.pdf" -exec pdfgrep -Hi "toto" {} \;


shred:

pour bien effacer un document


apt-key:


pour installer une clé de serveur de paquets deb
en root
apt-key adv --keyserver adresse-du-serveur --recv-keys numéro-de-la-clé

trash:
pour faire apparaitre les documents de la corbeille d'un périphérique de données usb,afficher les fichiers cachés,trash apparait


netstat:

pour afficher la table de routage
netstat -rn


objdump:

pour connaitre les librairies nécéssaires à un programme
objdump -p /usr/bin/totem | grep NEEDED


tabulation:

antislash+t


gopchop:

si vous avez concaténé des vidéos mpeg2 et que le lecteur refuse de les lires,l'index du document vidéo doit être refait
si ffmpeg ou mencoder n'ont su le faire
utiliser gopchop et couper juste au début de la vidéo,l'index sera refait
les langages audios et les sous-titres sont conservés


ondes:
ce qui permet de communiquer et de se déplacer dans l'espace en des temps relativement courts par attraction ou répulsion magnétique
première célérité: 3x105 km/s
deuxième célérité: 9x1010 km/s
troisième célérité: 8,1x1021 km/s
quatrième célérité: 6,5x10442 km/s
cinquième célérité: 4,2x1019536 km/s


force:

le force est l'unité qui correspond à une masse d'un gramme au niveau de l'océan
ce qui correspond à une unité de force gravitique
noter que les ondes gravitiques peuvent être amplifiées et déphasées


la sphere:

la sphère nous donne une infinité d'angles d'observation de sa réalité


cristaux:

certains cristaux peuvent émetre et recevoir des fréquences de plusieurs célérités (multispectre)


exposants:

pour mettre en exposant dans une page html,utiliser la balise sup et la balise /sup pour les caractères en exposants
exemple: 123456789tuto+?%1234


indices:

pour mettre en indice dans une page html,utiliser la balise sub et la balise /sub pour les caractères en indices
exemple: 123456789tuto+?%1234


du code html dans une page html:


pour mettre un morceau de code html dans une page web, le code n'est pas interprété par le navigateur
les < sont remplacés pae &lt;
les > sont remplacés par &gt;
exemple:
<div style="text-align: center;">
<video width="960" height="540" controls="controls">
<source src="videos/87-bicolor.ogv" type="video/ogg">
<source src="videos/87-bicolor.mp4" type="video/mp4">
<source src="videos/87-bicolor.webm" type="video/webm">
</source></source></source>
</video>
</div>



conversion de vidéos par lot dans un repertoire de vidéos:

choisir vos options pour ffmpeg
find . -name '*.*' -exec ffmpeg -i {} options-pour-ffmpeg {}.mkv \;


stellarium:


décocher l'affichage de l'atmosphère pour que les étoiles apparaissent (touche A du clavier)


partclone:

voici un exemple de sauvegarde et de restauration d'une partition linux formatée en ext3fs avec le programme partclone

les commandes sont en administrateur root
la restauration doit être réalisée au même emplacement (ici /dev/sda3) que l'originale (pour le volume et le grub)
la partition a sauvegarder (ici /dev/sda3) doit être démontée
la partition d'image (ici media) doit être montée,accessible en lecture écriture
la partition a restaurer (ici /dev/sda3) doit être démontée
-c    = mode copie
-r = mode restauration
-s = source
-o = destination
-d = debug
.pcl = partclone

File System les paquets à installer partclone.[fstype]

Btrfs btrfs-tools partclone.btrfs
Ext2 e2fsprogs partclone.ext2 or partclone.extfs
Ext3 e2fsprogs partclone.ext3 or partclone.extfs
Ext4 e2fsprogs partclone.ext4 or partclone.extfs
Reiserfs libreiserfs partclone.reiserfs
Reiser4 reiser4progs partclone.reiser4
XFS xfslibs partclone.xfs
JFS jfsutils partclone.jfs
NTFS ntfsprogs partclone.ntfs
FAT 12 X partclone.fat12 or partclone.vfat
FAT 16 X partclone.fat16 or partclone.vfat
FAT 32 X partclone.fat32 or partclone.vfat
exFAT http://code.google.com/p/exfat/ partclone.exfat
HFS plus X(ref:HFS Plus Volume Format) partclone.hfsplus , partclone.hfsp or partclone.hfs+
UFS2 ufsutilies partclone.ufs
VMFS vmfstools partclone.vmfs
F2FS f2fs-tools partclone.f2fs
NILFS2 nilfs-tools partclone.nilfs2


robertix@ordix:~$ su
Mot de passe :
root@ordix:/home/robertix# partclone.ext3 -c -d -s /dev/sda3 -o /media/robertix/245877ab-3cd0-4b77-ae02-89407592100e/sda3.pcl
Partclone v0.2.73 http://partclone.org
Démarrage clonage périphérique (/dev/sda3) vers image (/media/robertix/245877ab-3cd0-4b77-ae02-89407592100e/sda3.pcl)
Reading Super Block
Elapsed: 00:00:01, Remaining: 00:00:00, Completed: 100.00%
Durée totale: 00:00:01, 100.00% completed!
done!
Système de fichiers: EXTFS
Device size: 89,2 GB = 21783296 Blocks
Space in use: 78,4 GB = 19131621 Blocks
Free Space: 10,9 GB = 2651675 Blocks
Taille de bloc: 4096 octets
Elapsed: 00:16:16, Remaining: 00:00:00, Completed: 100.00%, Débit: 4,82GB/mn,
current block: 21783296, total block: 21783296, Complete: 100.00%
Durée totale: 00:16:16, Débit moyen: 4,8GB/mn, 100.00% completed!
Syncing... OK!
Partclone a réussi à cloner le périphérique (/dev/sda3) vers l'image (/media/robertix/245877ab-3cd0-4b77-ae02-89407592100e/sda3.pcl)
Cloned successfully.


root@ordix:/home/robertix# partclone.ext3 -r -d -s /media/robertix/245877ab-3cd0-4b77-ae02-89407592100e/sda3.pcl -o /dev/sda3
Partclone v0.2.73 http://partclone.org
Démarrage restauration image (/media/robertix/245877ab-3cd0-4b77-ae02-89407592100e/sda3.pcl) vers périphérique (/dev/sda3)
Reading Super Block
Calculating bitmap... Please wait... done!
Système de fichiers: EXTFS
Device size: 89,2 GB = 21783296 Blocks
Space in use: 78,4 GB = 19131621 Blocks
Free Space: 10,9 GB = 2651675 Blocks
Taille de bloc: 4096 octets
Elapsed: 00:16:30, Remaining: 00:00:00, Completed: 100.00%, Débit: 4,75GB/mn,
current block: 21783296, total block: 21783296, Complete: 100.00%
Durée totale: 00:16:30, Débit moyen: 4,7GB/mn, 100.00% completed!
Syncing... OK!
Partclone a réussi à restaurer l'image (/media/robertix/245877ab-3cd0-4b77-ae02-89407592100e/sda3.pcl) vers le périphérique (/dev/sda3)
Cloned successfully.


webalizer et geoip-database:

pour avoir le camembert des origines des clients s'étant connectés sur un site web avec webalizer
nous devons installer le paquet geoip-database sur l'ordinateur serveur http
et paramétrer le fichier /etc/webalizer/webalizer.conf pour utiliser cette base de données
cela converti les plages d'adresses ip dans les nationalités d'origines des clients

# The GeoIP option enables or disables the use of geolocation
# services provided by the GeoIP library (http://www.maxmind.com),
# if available. Values may be 'yes' or 'no, with 'no' being the
# default. Note: if GeoDB is enabled, then this option will have
# no effect (GeoDB will be used regardless of this setting).

GeoIP yes

# GeoIPDatabase specifies an alternate database filename to use by the
# GeoIP library. If an absolute path is not given as part of the name
# (ie: starts with a leading '/'), then the name is relative to the
# default output directory. This option should not normally be needed.

GeoIPDatabase /usr/share/GeoIP/GeoIP.dat

pour apache v2.4

de plus il faut que les logs du serveur http dans /var/log/apache2/ (acces.log ou other_vhosts_access.log) soient dans le bon logformat pour l'utilisation de geoip-database

nous avons dans /etc/apache2/apache2.conf 5 choix possibles de formats de logs d'acces clients

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

pour l'utilisation de geoip-database nous devons remplacer une ligne dans /etc/apache2/conf-available/other-vhosts-access-log.conf

# Define an access log for VirtualHosts that don't define their own logfile
#CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined
CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log combined

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

combined est le deuxième choix de logformat,les lignes de logs commenceront par les adresses ip des clients du serveur http
redémarrer le serveur http,après quelques connexions clientes,vérifier le nouveau format des logs d'acces
utiliser la commande webalizer sur le serveur pour actualiser les statistiques du site web
le camembert apparaît dans webalizer en différentes couleurs selon les origines des clients

dans /etc/cron.daily nous avons logrotate et webalizer

nous pouvons constater dans le fichier /etc/crontab que
les commandes crons quotidiennes sont définies à 6 heures et 25 minutes et dans l'ordre alphabétique des fichiers dans /etc/cron.daily
chaque jour à 6h25 logrotate transfert les logs acces.log dans acces.log.1 et ainsi de suite,c'est la rotation des logs
puis webalizer récupère les données de acces.log.1 pour actualiser les statistiques de fréquentations du site
c'est à dire tous les accès depuis 6h26 hier matin jusqu'à 6h24 ce matin
donc les statistiques de webalizer d'aujourd'hui seront complétées le lendemain


shred:

le programme shred du paquet coreutils permet de reécrire sur un fichier des caractères aléatoires (3 fois par défaut) et de l'éffacer
voilà un script pour avoir shred avec le clic droit sur un document dans mon explorateur de fichiers
c'est un script à mettre dans ~/.config/caja/scripts le fichier shred doit être rendu éxécutable puis relancer l'application pour le prendre en compte,une entrée script est ajoutée avec shred dans le menu contextuel de caja
on peut sélectionner plusieurs fichiers d'un même dossier
la fenêtre zenity qui s'ouvre après le click est bien pratique parce qu'on peut voir la progression du processus de reécriture


à la ligne "shredout=$(shred -u -z -n 1 "$file" 2>&1)" en ce qui concerne le nombre de reécriture,le 1 me semble insuffisant,on peut choisir plus

le script pour shred

#!/usr/bin/env bash
nfiles="$#"
files=""
for file in "$@" ; do
if [ ${#files} -gt 0 ] ; then files="$files\n"; fi
files=$files$(basename "$file")
done
zenity --question --title="shred these $nfiles files - REALLY??" --text="$files"
if [ "$?" = 1 ] ; then
exit $?
else
nfile=0
(for file in "$@" ; do
echo \# shredding $(basename "$file")...
shredout=$(shred -u -z -n 1 "$file" 2>&1)
rc=$?
if [ $rc -ne 0 ] ; then
echo "100"
zenity --error --title="No break for you today" --text="$shredout"
exit $rc
else
let nfile++
echo $((nfile * 100 / nfiles))
fi
done ) | zenity --progress --title="Wiping files..." --auto-close \
--percentage=0 --text="starting..." --no-cancel
fi
exit 0

show-advanced-permissions:

pour obtenir la version traditionnelle de l'affichage de la fenêtre des permissions dans l'explorateur de fichiers caja
installer dconf-editor et gksu

dans dconf-editor aller a:
/org/mate/caja/preferences

pour mettre a vrai show-advanced-permissions,cliquer sur cette ligne,mettre a zero la configuration par défaut,choisir la valeur personnalisée,cliquer sur vrai,vrai est grisé
revenir sur l'onglet préférences pour contrôler le changement demandé
redémarrer caja

si vous souhaitez avoir le même aperçu pour caja en user root (gksu caja)
utiliser la commande:gksu dconf-editor
redémarer caja

cette manipulation est a faire à chaque nouvel utilisateur de l'ordinateur

rappel:
faire une sauvegarde périodique de partition permet de ne pas recommencer toute votre configuration en cas de soucis


customisation de l'applet horloge:

dans dconf-editor en simple user aller à l'applet horloge

/org/mate/panel/objects/clock/prefs/

mettre
format = custom

puis
custom format = %A %d %B %Y - %Hh %Mm %Ss

donne dans la barre d'applets: mercredi 27 septembre 2017 - 16h 37m 10s


apt:

pour accéder aux dépôts https
installer d'abord le paquet apt-transport-https

pour installer des paquets i386
commande en console administrateur:
dpkg --add-architecture i386

installer dpkg-dev

pour fabriquer un dépôt de paquets .deb
commande en mode user dans votre dossier de paquets:
dpkg-scanpackages -m . /dev/null > Packages

exemple d'adresse de dépôt local
deb [trusted=yes] file:///media/rob/mon-dépot-local-de-paquets-deb/ ./

pour fabriquer un dépôt de sources
commande en mode user dans votre dossier de sources:
dpkg-scansources . /dev/null > Sources

pour télécharger un paquet sans l'installer
commande en mode user dans un dossier user
apt-get download nom-du-paquet

pour télécharger une source sans la compiler
commande en mode user dans un dossier user
apt-get source --download-only nom-de-la-source

pour lister tous les paquets installés
dpkg -l | grep ^ii | awk '{print $2}' > liste.txt

retirer avec un éditeur de texte comme pluma :amd64 et :i386

pour télécharger les sources d'une liste
for i in `cat liste.txt`; do apt-get source --download-only $i; done;

pour télécharger les paquets d'une liste
for i in `cat liste.txt`; do apt-get download $i; done;

exemple pour mettre les droits et permissions dans un dossier
en console administrateur dans le dossier
chown -R www-data:www-data . && find . -type d -exec chmod 770 {} \; && find . -type f -exec chmod 660 {} \;

installer dpkg-repack pour repaqueter un paquet installé
vérifier qu'il n'y a pas de données personnelles dedans avant de le distribuer

installer apt-build pour pouvoir compiler des sources
valider les dépôts nécéssaires pour apt
commande en console administrateur:
apt-build build-source nom-du-programme


kiwix:

kiwix_1.0.1_amd64.deb
ancienne version qui ne permet plus l'importation par internet des fichiers zims
télécharger directement vos zims sur le site
https://wiki.kiwix.org/wiki/Content_in_all_languages/fr

préférer les versions all,il y a les images
selon la taille du fichier zim ,l'indexation de tout son contenu peut prendre plusieurs jours,non indispensable

zimwriterfs_1.2-1+b1_amd64.deb

keepnote_0.7.8-1.1_all.deb

tout en mode user
faire un dossier meszimpersos
dans meszimpersos faire un dossier html
dans le dossier html
exemple avec keepnote j'exporte en html mes pages dans le dossier html et ensuite je fais le tri de ces pages
faire votre page d'accueil index.html dans ce dossier html
faire un dossier logo dans le dossier html pour y mettre votre logo personnel,logo.png 48px48p

ouvrir un console dans meszimpersos
respecter les virgules et les traits d'unions

exemple

commande en console user

zimwriterfs --welcome=index.html --favicon=logo/logo.png --language=fra --title=zynaddsubfx --description=zynaddsubfx,tutoriel --creator=réné-dupont --publisher=dupont ./html dupont-20200604.zim

en cas de succès
dans le dossier meszimpersos,actualiser la fenêtre de l'explorateur de fichiers,vous trouvez votre fichier dupont.zim
importer dupont.zim dans le menu kiwix/fichier/ouvrir un fichier,votre page d'accueil welcome apparait
dans le champ de recherche indiquer le nom d'une page et les noms des pages trouvées sont listées
dans le menu outils/lancer l'indexation,tout le contenu des pages sera indexé
dans le champ de recherche indiquer un mot et la liste des pages apparait ou se trouve ce mot
dans le menu modifier/chercher dans une page,indiquer ce mot
si votre texte en html est en pleine largeur,avec kiwix il le sera aussi
voyez les icônes en haut à droite
cliquer dans le menu fichier/parcourir la bibliothèque
là vous trouverez dans la liste,tous les détails de votre fichier zim
zim kiwix et zim-desktop n'ont aucun rapport

Documentation:
zimwriterfs source code: https://github.com/openzim/zimwriterfs
ZIM format: https://openzim.org

Usage: zimwriterfs [mandatory arguments] [optional arguments] HTML_DIRECTORY ZIM_FILE

Purpose:
    Packing all files (HTML/JS/CSS/JPEG/WEBM/...) belonging to a directory in a ZIM file.

Mandatory arguments:
    -w, --welcome        path of default/main HTML page. The path must be relative to HTML_DIRECTORY.
    -f, --favicon        path of ZIM file favicon. The path must be relative to HTML_DIRECTORY and the image a 48x48 PNG.
    -l, --language        language code of the content in ISO639-3
    -t, --title        title of the ZIM file
    -d, --description    short description of the content
    -c, --creator        creator(s) of the content
    -p, --publisher        creator of the ZIM file itself

    HTML_DIRECTORY        path of the directory containing the HTML pages you want to put in the ZIM file.
    ZIM_FILE        path of the ZIM file you want to obtain.

Optional arguments:
    -v, --verbose        print processing details on STDOUT
    -h, --help        print this help
    -V, --version        print the version number
    -m, --minChunkSize    number of bytes per ZIM cluster (default: 2048)
    -x, --inflateHtml    try to inflate HTML files before packing (*.html, *.htm, ...)
    -u, --uniqueNamespace    put everything in the same namespace 'A'. Might be necessary to avoid problems with dynamic/javascript data loading.
    -r, --redirects        path to a TSV file containing a list of redirects (namespace url title target_url).
    -j, --withoutFTIndex    don't create and add a fulltext index of the content to the ZIM.
    -a, --tags        tags - semicolon separated
    -e, --source        content source URL
    -n, --name        custom (version independent) identifier for the content
    -o, --flavour        custom (version independent) content flavour
    -s, --scraper        name & version of tool used to produce HTML content

exemple en mode arborescent

.
└── zim
    ├── html
    │   ├── fr
    │   │   ├── g
    │   │   │   ├── gcad3d
    │   │   │   │   ├── gcad3d_fichiers
    │   │   │   │   │   ├── bout01.png
    │   │   │   │   │   └── bout02.png
    │   │   │   │   └── index.html
    │   │   │   └── gmorgan
    │   │   │       ├── gmorgan_fichiers
    │   │   │       │   ├── gmorgan_html_2c6778ac.png
    │   │   │       │   └── gmorgan_html_2f1a1df5.png
    │   │   │       └── index.html
    │   │   ├── l
    │   │   │   └── leocad
    │   │   │       ├── index.html
    │   │   │       └── leocad_fichiers
    │   │   │           ├── 3a81f39b.jpg
    │   │   │           └── 5bf7f5ba.jpg
    │   │   └── t
    │   │       └── tkgate
    │   │           ├── index_fichiers
    │   │           │   └── biggatelogo.gif
    │   │           └── index.html
    │   ├── index.html
    │   └── logo
    │       └── logo.png
    └── koko-20200604.zim

zimdump:

https://download.openzim.org/release/zim-tools/zim-tools_linux-x86_64-1.2.1-1.tar.gz

The zimdump software, included in zimlib, is a console tool allowing to inspect the content of a ZIM file.

usage: zimDump [options] zimfile

options:
-F print fileinfo
-N ns print info about namespace
-i print info about articles
-d print data of articles
-p print page
-f title find article
-u url find article by url
-t sort (and find) articles by title instead of url
-l list articles
-L list articles as table
-o idx locate article by index
-x print extra parameters
-n ns specify namespace (default 'A')
-D dir dump all files into directory
-v verbose (print uncompressed length of articles when -i is set)
(print namespaces with counts with -F)
-Z dump index data

examples:

zimdump -F fichier.zim
zimdump -l fichier.zim
zimdump -f Auto -i fichier.zim
zimdump -f Auto -d fichier.zim
zimdump -f Auto -l fichier.zim
zimdump -f Auto -l -i -v fichier.zim
zimdump -o 123159 -l -i fichier.zim

créer le dossier de reception des pages html
rendre éxécutable le programme puis dans son dossier
la commande user

./zimdump -D html fichier.zim

il peut être nécéssaire de changer les liens pour les pages html obtenues
mieux est de renommer les images avec gprename
toutes les pages sont dans un même dossier (attention peut être un grand nombre)
toutes les images sont dans un même dossier (attention peut être un grand nombre)


timidity:

désactiver timidity au démarrage de l'ordi,boot-up manager
pulseaudio doit démarrer avant timidity
ajouter dans mes applications au démarrage la commande
timidity -iA -Os
la connection par défaut pour le midi
timidity port 128 0


sysvinit pulseaudio:

dans /etc/pulse/client.conf.d/00-disable-autospawn.conf
mettre
# autospawn=no


power button maté elogind sysvinit:

installer

elogind
elogind-dbgsym
libelogind-dev
libelogind-dev-doc
libelogind0
libelogind0-dbgsym
libpam-elogind
libpam-elogind-dbgsym
libpolkit-backend-elogind-1-0
libpolkit-backend-elogind-1-0-dbgsym
libpolkit-backend-elogind-1-dev
libpolkit-gobject-elogind-1-0
libpolkit-gobject-elogind-1-0-dbgsym
libpolkit-gobject-elogind-1-dev
policykit-1
policykit-1-dbgsym
policykit-1-doc
policykit-1-gnome

dans /etc/pam.d/elogind-user
dans /etc/pam.d/lightdm-greeter
remplacer systemd par elogind
puis reboot pour avoir le power bouton actif à l'écran de connexion


pilote du touchpad:

tester avec xserver-xorg-input-libinput
ajouter xserver-xorg-input-synaptics si nécéssaire
ou changer pour
xserver-xorg-input-evdev avec xserver-xorg-input-synaptics


synaptic:

en cas de crash de l'application suite a votre choix dans le menu configuration/préférences/distribution
éffacer entre les guillemets dans /root/.synaptic/synaptic.conf dans la ligne tout en bas du fichier
DefaultDistro "";


session graphique utilisateur:

si l'écran de connection réapparaît quelques secondes au moment d'éteindre votre machine
la session utilisateur doit complètement et proprement s'arréter avant le reste des processus


lightdm:

installer lightdm-gtk-greeter-settings pour choisir les préférences


tweak:

installer mate-tweak pour choisir les préférences


îcones:
tester gnome-dust


gnome-system-tools:

/usr/bin/users-admin
permet de gérer les goupes,utilisateurs et permissions


paquets recommandés:

apt-transport-https
mate-applet-brisk-menu
mozo
bum
gnome-disk-utility
gufw
galternatives
paprefs
dwww
grsync
gprename
gsmartcontrol
gparted
partclone
unetbootin
gnome-system-log


lightdm session mate:


si l'écran de connexion graphique n'apparaît pas
décommenter les lignes 70 et 113 dans
/etc/lightdm/lightdm.conf
indiquer votre bureau
user-session=mate



priorités:

il y a des priorités dans le démarrage et l'arrêt des processus
exemples:
pulse avant timidity
compositeur d'affichage avant mate-panel (voir mate-tweak),ou désactiver le compositeur
il peut être nécéssaire d'utiliser un retard dans les scripts
les processus user doivent être arrêtés en premier a l'arrêt de l'ordinateur


shutdown:

solution de contournement
commande en console root
chmod u+s /sbin/shutdown
$ ls -la /sbin/shutdown
-rwsr-xr-x 1 root root 31520 févr. 26  2019 /sbin/shutdown
puis ajouter avec l'éditeur de menu 2 entrées,pour une utilisation de shutdown en user
éteindre
/sbin/shutdown -h now
redémarrer
/sbin/shutdown -r now


configuration:

les fichiers de configurations d'un programme peuvent être différent selon la version du programme,donc pas toujours compatible


interprète:

un programme écrit en langage interprété doit être démarré avec l'indication du chemin et de la version de l'interprèteur


dépendances d'utilisation:

certaines dépendances de fonctionnement d'un programme peuvent être absentes du fichier /DEBIAN/control dans le paquet .deb


dépendances de compilation:

certaines dépendances de compilation peuvent être absentes du fichier .dsc de la source logicielle


control + c:

pour arrêter un programme démarré avec la console,utiliser la combinaison de touches control + c


su:

certains programmes doivent être démarrés après la commande
su -
et avec le chemin complet du binaire éxécutable


network-manager:

pour remplacer wicd par network-manager-gnome
dans /etc/network/interfaces
commenter ce qui n'est pas loopback comme cela

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# allow-hotplug eth0
# iface eth0 inet dhcp
# This is an autoconfigured IPv6 interface
# iface eth0 inet6 auto

puis dans centre de controle/applications au démarrage
décocher le programme wicd
avec synaptic désinstaller les paquets wicd et installer les paquets network-manager à la place
redémarrer votre ordinateur
une icône apparaît dans la zone de notification
configurer votre connexion réseau



a la bonne heure:

installer ntp
la synchronisation est progressive avec les serveurs de temps
controler avec le site: https://time.is/

dns alternatifs:

vous pouvez ajouter des serveurs dns alternatifs dans vos paramètres de connexions réseaux
exemple:
dns ipv4
80.67.169.12, 80.67.169.40
dns ipv6
2001:910:800::12, 2001:910:800::40
fermer et redémarrer votre connexion réseau
controler avec le site votre score
https://test-ipv6.com/



stardict-tools:

renommer fichier.dict.dz en fichier.dict.gz
puis extraire le .dict par un clic droit "extraire"
ou
(paquet dictzip)
dictunzip -k koko.dict.dz
inverse
dictzip -k koko.dict
-k permet garder le dict.dz d'origine
puis
pour extraire le texte brut fichier.txt
(paquet stardict-tools version 3.0.6)
commande
dans le dossier des trois éléments
/usr/lib/stardict-tools/stardict2txt fichier.ifo fichier.txt
les 3 fichiers doivent avoir le même nom
fichier.dict fichier.idx fichier.ifo
compilation de fichier.txt (entrées tabulées)
crée les 3 fichiers
/usr/lib/stardict-tools/tabfile  fichier.txt
tabfile (une tabulation unique après chaque entrée sur chaque ligne (le délimiteur en première colonne)
pour aller à la ligne dans la définition utiliser antislash+n
avec sametypesequence=g dans fichier.ifo,il est possible d'ajouter dans fichier.txt des balises de formatages comme taille couleur gras italique (pango text attribut markup langage)


convertir:

convertir toutes les pages d'un fichier .pdf en une série d'images .png
(paquet poppler-utils)
commande user
pdftoppm -png nom-du-fichier.pdf nom-du-fichier