Ceci est une ancienne révision du document !


compresser en parallèle

Au lieu de faire:

tar cvfz archive.tgz dossier/

Faites:

tar cvf - dossier/ | pigz > archive.tgz

mot de passe pdf

cp original.pdf copie.pdf
qpdf --decrypt copie.pdf copie-lisible.pdf
pdftk copie-lisible.pdf cat output copie-modifiable.pdf
pdftk copie-modifiable.pdf update_info rapport.txt output copie-modifiee.pdf 

src : https://forum.ubuntu-fr.org/viewtopic.php?pid=9921251#p9921251

Nettoyage Cups cybersalle

Problème : Des impressions “fantômes” sont lancées lors de l'allumage d'un PC

Solution : Nettoyer les tâches d'impression

cleanall_printer_tasks.sh
#!/bin/bash
for d in `lpq -a | sed -n '3,$'p | sed -e 's/ \s*/,/g' | cut -d, -f 3`
do 
    lprm $d
done

Heure différente entre windows et linux

Tearing Linux

modifier /etc/X11/xorg.conf.d/20-intel.conf ou /usr/share/X11/xorg.conf.d/20-intel.conf

Intel

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "TearFree"    "true"
EndSection

Nvidia

 nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Écran tactile SCD 1597

  • S'assurer de l'activation du port com dans le bios
  • Si la manip ne marche pas directement, recherchez les paquets en rapport avec “elo” “evdev” “xinput”

Chargez le module

sudo modprobe elo

ou ajoutez-le dans /etc/modules pour prise en compte au démarrage.

sudo inputattach -elo /dev/ttyS0 --daemon

Vérifier la “présence” du périphérique

xinput -list

Calibrer l'écran via la commande :

xinput_calibrator 

merci à seb pour le topo


Retrouver le nom d'une appli graphique sous linux

ps --no-header -o command -p $(xwininfo -all | grep "Process id:" | cut -d":" -f2 | cut -d" " -f2)

puis sélectionner la fenêtre du programme à identifier…

src


Tuer une fenêtre recalcitrante

lancer xkill en cmd

zxkill.sh
#!/bin/bash
zenity --info --text "Selectionnez la fenetre à tuer" --timeout 5 &
xkill

PDF

Réduire la taille d'un PDF ( possible perte de qualité et d'information sur les vidéos )

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=OUTPUT.pdf INPUT.pdf

src


Intégrer un raccourci web dans le lanceur d'ubuntu

Dans un fichier type gedit copier/coller le texte suivant en exemple:

  #!/usr/bin/env xdg-open
  [Desktop Entry]
  Version=1.0
  Encoding=UTF-8
  Type=Application
  Name=nom du raccourci
  GenericName=description
  Exec=firefox wiki.desclicks.net
  Icon=/home/user/image/logo.png
  Categories=Internet;
  Name[fr_FR]=nom du raccourci

Enregistrer le fichier en .desktop, le rendre exécutable dans “permissions” (clic droit propriété du fichier) et l'intégrer dans la barre du lanceur.


Pour une ouverture automatique sur la session de l'adhérent (xubuntu)

ajouter les paramètres suivants dans la section SeatDefaults du fichier /etc/lightdm/lightdm.conf.d/10-xubuntu.conf

autologin-user=login_utilisateur
autologin-user-timeout=0
pam-service=lightdm-autologin

Rétroéclairage récalcitrant sous linux

Solutions :

  • Méthode Mc Gyver : la lampe torche pour y voir quelque chose
  • Méthode soft : brancher un écran externe dès le démarrage
  • La commande qui “permet l'utilisation du pc” :
sudo setpci -s 00:02.0 F4.B=30
  • les fichiers utiles à modifier/créer avec cette commande
    • /etc/rc.conf, pour le démarrage
    • /etc/pm/sleep.d/10_reset_light, pour la reprise de veille
#!/bin/bash
sleep 5
setpci -s 00:02.0 F4.B=30
  • ~/.config/openbox/lxde-rc.xml, pour rajouter un raccourci, au cas où

ref : https://bugs.launchpad.net/ubuntu/+source/linux/+bug/765438 PC :

  • Packard Bell easynote TK

Forcer l'augmentation du taux de rafraîchissement des ports USB (attention cela ne change PAS le débit!!)

*Pour régler jusqu'au prochain redémarrage, taper à la console:

sudo modprobe -r usbhid && sudo modprobe usbhid mousepoll=x

où x=
1 = 1000 Hz
2 = 500 Hz
4 = 250 Hz
8 = 125 Hz (Défaut du port USB)
10 = 100 Hz
0 = 62.5Hz (utile sur les Raspberry Pi par exemple) mais c'est aussi la valeur lorsqu'aucune augmentation n'est imposée

NE PAS OUBLIER DE SPÉCIFIER UNE VALEUR SINON LES PORTS USB SERONT INOPÉRANTS JUSQU'AU PROCHAIN REDÉMARRAGE OU L'ATTRIBUTION D'UNE VALEUR (via l'usage d'un clavier PS/2) !

*Pour enregistrer la modification, dans /etc/modules ajouter:

-r usbhid
usbhid mousepoll=2

(de manière simple: on retire le module USB puis on le relance en imposant le taux de rafraîchissement comme manuellement)

*Pour tester le taux de rafraîchissement: EVHZ

Charger https://github.com/ian-kelling/evhz/raw/master/evhz.c
le compiler en tapant
sudo gcc -o evhz evhz.c
sudo ./evhz

[AOUT 2016] Charger et décompresser : https://gitlab.com/iankelling/evhz/repository/archive.zip?ref=master
Aller dans le répertoire créé et taper ./run , cela le compilera et le lancera. Les usages ultérieurs nécessiteront uniquement:

sudo ./evhz

Et on bouge la souris ^^ (Control-C pour quitter)

Avec Ubuntu 16.04 et dérivés il semble que l'on doive placer le code dans /etc/rc.local plutôt que dans /etc/modules. -r usbhid usbhid mousepoll=2

Attention depuis la version 18 Linux Mint utilise systemD, du coup la manipulation etc/rc.local et etc/modules ne fonctionne pas.

*Pour les systèmes utilisant systemD (pour le savoir taper dans la console: pidof systemd && echo “systemd” || echo “other”) il faut employer une autre méthode. Il existe plusieurs manières et la plus simple (et compatible) est d'éditer les options de GRUB pour placer la commande dès le lancement du noyau puisque le module y est intégré. Ici on édite les options de la ligne GRUB_CMDLINE_LINUX_DEFAULT pour y rajouter un espace suivi d' usbhid.mousepoll=2 :

sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbhid.mousepoll=2"

Et vérifier deux fois que tout convient puis sauvegarder. Finaliser en tapant dans la console la commande:

sudo update-grub

Désormais à chaque démarrage la fréquence indiquée (ici 500 Hz) sera imposée.

À tout moment il est possible vérifier la fréquence imposée au bus par la commande:

less /sys/module/usbhid/parameters/mousepoll

Qui renvoie les valeurs de x citées plus haut.

NOTE 1: plus le taux est élevé plus l'utilisation CPU l'est aussi. Il s'agit donc d'une manipulation à éviter pour une machine de faible puissance (C2D<2 GHz, P4<2.4 GHz pour avoir un peu de marge) avec un taux supérieur à 250 Hz.
NOTE 2: toutes les souris ne permettent pas d'augmenter EXCESSIVEMENT la valeur de rafraîchissement, elles fonctionneront mais à un taux plus faible. Mais consommeront autant de ressources puisque le bus USB sera lui à la fréquence imposée. Les souris qui fonctionnent à 1000 Hz sont rares, clairement orientées JEU. Celles qui fonctionnent à 500 Hz sont beaucoup plus fréquentes, généralement toutes celles de marques réputées (Logitech, Microsoft, etc). Le reste, même @ 250 Hz, ça vaut le coup.
NOTE 3: on peut repérer ainsi les souris USB qui sont des versions PS/2 avec un convertisseur PS/2 vers USB parce qu'elle restent bloquées à 125 Hz ;)
NOTE 4: si le module USB est compilé comme un module externe au noyau il faut utiliser la méthode citée dans man modules-load.d en plaçant la commande dans un fichier créé dans le répertoire /etc/modules.
NOTE 5: les firmwares intégrés aux souris modernes forcent eux-memes la fréquence mais la modification manuelle usbhid.mousepoll domine celle des firmwares.


Liens:
https://uwot.eu/blog/zowie-ec1-evo-cl-on-linux/
https://wiki.archlinux.org/index.php/Mouse_polling_rate

Désactiver l'accélération de la souris

La méthode simple, avec xset mais qui peut ne plus fonctionner :

Pour connaître les valeurs actuelles :

xset q | grep -A 1 Pointer
Pointer Control:
  acceleration:  1/1    threshold:  10

L'accélération est définie par à quel point la curseur bougera plus que le mouvement de la souris, ici on voit que l'accélération vaut 1 sur 1 autrement dit aucune.
q” signifie ici 'query', interroger.

Pour imposer :

xset m acceleration threshold

Pour acceleration on peut utiliser des fractions (1/4 (ralenti), 9/5 (accélère), etc).
threshold est un NOMBRE ENTIER qui quant à elle définie le seuil de déclenchement de l'accélération selon la vitesse du curseur, en pixels par 10 millisecondes. ex:

xset m 3/2 20

Défini une vitesse du curseur 50% plus rapide avec une accélération qui nécessite un plus grand mouvement.
m” signifie ici 'mouse' et affectera TOUS LES POINTEURS (trackballs, trackpads, souris, etc).
Note : l'accélération est fixe, purement linéaire, mais en précisant un seuil (threshold) de 0 on impose alors une courbe d'accélération exponentielle fluide de seuil 0 : un mouvement très lent sera très précis, un mouvement moyen sera rapide et un mouvement brusque sera extrêmement rapide. Pour restaurer aux valeurs par défaut :

xset m default

Note 2 : ces réglages ne sont pas sauvegardés ! Il peut être intéressant d'utiliser un raccourci (sur le bureau ou au lancement de la session) pour ce faire.
Note 3 : du fait des changements récents du serveur X il est probable que les modifications de l'accélération avec xset soient inopérantes ou buggées.

Méthode plus perfectionnée, sélective et sauvegardant les réglages

sudo nano /usr/share/X11/xorg.conf.d/50-mouse-acceleration.conf

Dedans coller ceci:

Section "InputClass"
    Identifier "My Mouse"
    MatchIsPointer "yes"
    Option "AccelerationProfile" "-1"
    Option "AccelerationScheme" "none"
    Option "AccelSpeed" "-1"
EndSection

Et sauvegarder (Ctrl + o, entrée, Ctrl + x).

Note 1 : “My Mouse” n'est qu'un surnom parce qu'il en faut un, pas besoin de définir quelque chose de précis. Si l'on désire au contraire définir des réglages en fonction de la souris (imaginons 2 souris très différentes branchées sur le même PC, une pour jouer l'autre pour le reste) il faudrait placer “MatchProduct” ou “MatchVendor” et définir l'ID sous Section “InputClass”. L'ID et le noms s'obtiennent avec lsusb -v | grep -e idProduct -e idVendor ou, si il s'agit d'une ou plus souris Logitech avec un concentrateur Bluetooth, lsusb du fait que le concentrateur peur représenter plusieurs périphériques.
Note 2 : AccelSpeed est ce qui désactive l'accélération, c'est un '1-x' de l'accélération. Si 0 : accélération normale, si -1 : pas d'accélération.
Note 3 : ces changements via /usr/share/X11/xorg.conf.d/50-mouse-acceleration.conf sont pour TOUS les utilisateurs.

Depuis linux Mint 18 la variante ci-dessus ne fonctionne plus, il faut utiliser ceci du fait des fonctionnalités nouvelles de libinput-1.1.0-1 et xf86-input-libinput-0.15.0-1 (pour info sous Linux Mint on est à libinput-1.2.3). Il faut rentrer uniquement ces lignes :

Section "InputClass"
	Identifier "My Mouse"
	Driver "libinput"
	MatchIsPointer "yes"
	Option "AccelProfile" "flat"
EndSection

Note 2 : AccelProfile peut prendre ici pour 'valeur' flat (=AccelSpeed -1) ou linear (=AccelSpeed 0)

Pour des essais rapides, notamment de vitesse du curseur (puisque sous Linux Mint l'interface graphique pour cela n'est PAS fonctionnelle) il est possible d'utiliser xinput directement. D'abord connaitre l'ID/nom de la souris pour ne pas affecter les autres périphériques de pointage :

xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse              	id=8	[slave  pointer  (2)]
⎜   ↳ Logitech Logitech USB Keyboard          	id=10	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ Logitech Logitech USB Keyboard          	id=9	[slave  keyboard (3)]

Ici on voit que la souris Logitech USB Optical Mouse a l'ID 8. On tape donc ensuite :

xinput list-props 8
Device 'Logitech USB Optical Mouse':
	Device Enabled (150):	1
	Coordinate Transformation Matrix (152):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (250):	0
	Device Accel Constant Deceleration (251):	1.000000
	Device Accel Adaptive Deceleration (252):	1.000000
	Device Accel Velocity Scaling (253):	10.000000
	Device Product ID (270):	1133, 49176
	Device Node (271):	"/dev/input/event2"
	Evdev Axis Inversion (279):	0, 0
	Evdev Axes Swap (281):	0
	Axis Labels (282):	"Rel X" (160), "Rel Y" (161), "Rel Vert Wheel" (274)
	Button Labels (283):	"Button Left" (153), "Button Middle" (154), "Button Right" (155), "Button Wheel Up" (156), "Button Wheel Down" (157), "Button Horiz Wheel Left" (158), "Button Horiz Wheel Right" (159)
	Evdev Scrolling Distance (284):	1, 1, 1
	Evdev Middle Button Emulation (285):	1
	Evdev Middle Button Timeout (286):	50
	Evdev Third Button Emulation (287):	0
	Evdev Third Button Emulation Timeout (288):	1000
	Evdev Third Button Emulation Button (289):	3
	Evdev Third Button Emulation Threshold (290):	20
	Evdev Wheel Emulation (291):	0
	Evdev Wheel Emulation Axes (292):	0, 0, 4, 5
	Evdev Wheel Emulation Inertia (293):	10
	Evdev Wheel Emulation Timeout (294):	200
	Evdev Wheel Emulation Button (295):	4
	Evdev Drag Lock Buttons (296):	0

On aurait pu utiliser la commande xinput list-props Logitech USB Optical Mouse pour le même résultat mais quelquefois les souris de la même marque bien que différentes ont le même nom, voir plus bas le problème que pose l'usage de l'ID. On voit que le périphérique est activé (Device Enabled (150): 1), ça nous arrange.
Device Accel Constant Deceleration est la vitesse du curseur.
Device Accel Adaptive Deceleration est l'accélération.
Device Accel Velocity Scaling est le seuil de déclenchement de l'accélération.
On peut dès lors modifier certaines caractéristiques et attributions des touches du périphériques, ici réduire de 3 fois la vitesse :

xinput --set-prop "Logitech USB Optical Mouse" "Device Accel Constant Deceleration" 3 &

Note 3 : en cas d'absence des paramètres il vaut mieux ne pas utiliser cette méthode.

Il est TRÈS FORTEMENT conseillé d'utiliser les NOMS des périphériques et des options pour des réglages définitifs plutôt que leurs ID qui peuvent changer ! En effet 2 souris peuvent une fois débranchées dans un ordre et rebranchées dans l'ordre opposé avoir leur ID permutés ou même totalement différents !
MAUVAIS : xinput –set-prop 8 251 3
BON : xinput –set-prop “Logitech USB Optical Mouse” “Device Accel Constant Deceleration” 3


Pour tester les attributions des boutons ou si un clic ou la molette délire 2 possibilités :
xinput list pour récupérer l'ID du périphérique puis taper :
xinput test ID (ID est l'ID du périphérique bien entendu) ou, plus brut :
xev


Liens:
http://who-t.blogspot.fr/2016/07/xinput-resolves-device-names-and.html


Pilotes Graphiques

Des pilotes 'bleeding edge' pour ATI, NVIDIA et ELO, à tenter si les officiels ne suffisent/marchent pas. https://launchpad.net/~xorg-edgers/+archive/ubuntu/ppa


Le gros bordel du montage des disques NTFS avec les linux modernes et leurs gestionnaires de fichiers

http://unix.stackexchange.com/questions/169571/what-is-the-difference-between-mounting-in-fstab-and-by-mounting-in-file-manager

En gros avec les gestionnaires modernes type NEMO c'est ATTENDU que les disques montés via FSTAB n'apparaissent pas parmi les périphs SAUF si ils sont montés dans /media/ (voir media/$USER/). De plus avec FSTAB c'est comme tu veux où tu veux et avec l'automontage du gestionnaire (donc avec udisk2) SI c'est pas déjà dans FSTAB c'est dans /media/$USER/VolumeName par défaut donc AVEC les ACL éventuellement liés ou dans /media/VolumeName mais sans ACL. Déjà assez complexe et source de problèmes mais lorsqu'on rajoute que le disque monté est du NTFS et qu'il existe plusieurs façons de gêrer les ACL (façon POSIX totale, partielle ou à la sauce Windows (qui nécessite d'avoir déjà créé des fichiers sur le-dit disque pour avoir les fichiers de config…)) alors si/quand des applis type PoL vérifient les ACL pour X raison ça peut merder parce que dans le second cas par exemple ça sera par défaut sous ROOT (avec 777) et plein droits partout mais ça coincera quand même 'juste pour faire chier le monde' sous prétexte que l'on a pas les droits…

On peut quand même les monter automatiquement en plaçant udisksctl avec les valeurs/commandes qu'il faut dans un script au lancement de la session au lieu de le faire dans FSTAB.


Monter les disques Win 8/10 qui refusent de l'être

En gros c'est dû à Win qui hiberne au lieu de vraiment s'éteindre, du coup par sécurité ntfs-3g refuse de modifier la partition car cela pourrait créer des incohérences au niveau du système de fichiers et légèrement perturber Win. 3 possibilités:

  1. rebooter sur Win et l'éteindre vraiment
  2. changer les options de montage, soit lecture seule soit en précisant qu'on retire le fichier d'hibernation (perdant tout ce qui n'a pas été sauvegardé sous Win). tuto : http://www.howtogeek.com/236807/how-to-mount-your-windows-10-or-8-system-drive-on-linux/
  3. monter manuellement le disque en lecture seule avec l'option “-r”
mkdir <point_de_montage>
sudo mount -r /dev/<id_du_disque>/ <point_de_montage>

Monter le disque dur de la freebox

  • VIA SAMBA:

_ à la mano

sudo mount -t cifs //mafreebox.freebox.fr/Disque\ dur/ /media/freebox -o guest,iocharset=utf8,file_mode=0777,dir_mode=0777

Il semblerait qu'il y it un problème de droits, on peut lire mais le propriétaire est l'ID 4242 qui n'est pas changeable (interne box) donc pas d'écriture et d'effacement.

_ dans fstab si pas de mot de passe

//192.168.0.1/disque\040dur/ /media/box   cifs  _netdev,guest,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,x-gvfs-show  0  0

x-gvfs-show permet d'afficher le montage même si il n'est pas dans /media
x-gvfs-name= et x-gvfs-symbolic-icon= permettent d'affiner ce qui sera affiché.
Il est important de définir uid=1000,gid=1000,file_mode=0777,dir_mode=0777 afin de ne pas rencontrer de problèmes de droits. Il convient de mettre pour uid & gid la valeur correspondant aux comptes (définis dans cat /etc/passwd). En précisant guest on accède à la box en anonyme et sans demande de mot de passe qui serait proposé par le système lors d'un montage manuel avec l'interface graphique, même si la box est configurée pour accepter les accès anonymes.

_ dans fstab si mot de passe

//mafreebox.freebox.fr/Disque\040dur /media/freebox cifs netdev,guest,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,x-gvfs-show,user=freebox,pass=<motdepasse> 0 0

Ou même

//mafreebox.freebox.fr/Disque\040dur /media/freebox cifs netdev,guest,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,x-gvfs-show,gid=users,credentials=/home/toto/freebox.credentials,sec=ntlm 0 0

Le fichier /home/toto/freebox.credentials dont le nom sera adapté bien entendu devra contenir :

username=
password=

Remplis.

_ avec GVFS

gvfs-mount smb://mafreebox.freebox.fr/Disque\ dur/

Rapide mais peu performant.

  • VIA FTP:

_ dans fstab

curlftpfs#ftp://freebox:XXXXXX@mafreebox.freebox.fr/Disque%20dur /media/freebox fuse _netdev,allow_other,user,uid=1000 0 0

(XXXXXX le mot de passe)

_ via GVFS

gvfs-mount ftp://mafreebox.freebox.fr/Disque%20dur

L'option _netdev dans FSTAB impose au système d'attendre l'activation effective du RÉSEAU pour tenter le montage, sinon il le fait directement alors que le réseau n'est PAS activé provoquant alors à l'échec du montage du disque réseau.
Notez qu'il est préférable de remplacer l'adresse DNS mafreebox.freebox.fr par l'adresse IP. On peut arguer que cela rend la manipulation moins adaptable mais change-t-on souvent l'adresse de la box ? ;)

Après vaut-il mieux s'y connecter en FTP ou en Samba ?
L'accès FTP est plus performant et pas de soucis de droits dès lors que l'on est connecté mais impose de charger les fichiers en entier. Du coup pour des images ou du texte ça passe, pour des vidéos ou ISOs, surtout de + d'1 gig, c'est difficilement tolérable.

référence: https://www.inzecloud.net/index.php/2015/04/06/linux-acceder-au-disque-dur-de-la-freebox-sous-linux-2/

Touches ALT inopérante dans les jeux, sous Cinnamon

Lors de l'appui sur la touche ALT dans un jeu le curseur semble bloqué. Cela est dû à l'affectation de la touche ALT à la fonction de déplacement et de redimensionnement des fenêtres. Aller dans 'tous les réglages→ fenêtres et tout en bas affecter la touche SUPER (=windows) à cette fonction. Le changement sera répercuté au relancement des programmes affectés (pas besoin de redémarrer).

http://unix.stackexchange.com/questions/209154/disable-certain-operating-system-keystrokes-and-mouse-actions-on-cinnamon