« ArchLinux » : différence entre les versions
(18 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 118 : | Ligne 118 : | ||
{{warn | Si l'utilisateur ciblé par les modifications est actuellement loggué, il devra se délogguer puis se relogguer avant que les modifications ne prennent effet.}} | {{warn | Si l'utilisateur ciblé par les modifications est actuellement loggué, il devra se délogguer puis se relogguer avant que les modifications ne prennent effet.}} | ||
= Utilisateurs = | = [https://wiki.archlinux.org/index.php/Users_and_groups Utilisateurs] = | ||
<kode lang=bash> | <kode lang=bash> | ||
# Ajouter un utilisateur, méthode interactive | # Ajouter un utilisateur, méthode interactive | ||
adduser | adduser | ||
# méthode explicite | # méthode explicite | ||
useradd -m -g [ | useradd -m -g [Group] -s /bin/zsh [User] | ||
# -m: créé un dossier home, par défaut ce n'est pas le cas | # -m: créé un dossier home, par défaut ce n'est pas le cas | ||
# -g: set the group, by default a group with the same name as the user name is created | # -g: set the group, by default a group with the same name as the user name is created | ||
# -G: | # -G: add the new user to these groups | ||
# -s: set the shell, by default /bin/bash (must be one of the shell listed in /etc/shells) | # -s: set the shell, by default /bin/bash (must be one of the shell listed in /etc/shells) | ||
# -s /bin/false → tous les accès au système sont désactivés | # -s /bin/false → tous les accès au système sont désactivés | ||
# -s /bin/nologin → pas de connexion direct au système ni via su et ssh | # -s /usr/bin/nologin → pas de connexion direct au système ni via su et ssh (/bin/nologin, /sbin/nologin, /usr/sbin/nologin) | ||
# | # create a daemon user | ||
useradd -r [ | useradd -r -s /usr/bin/nologin -N -g nobody [User] | ||
# | # -r: system user, system user id (<1000) and the home folder is not created | ||
# -N: do not create a group with the same name as the user, but add the user to the group specified by the -g option or by the GROUP variable in /etc/default/useradd | |||
# Supprimer un utilisateur, -r pour supprimer le répertoire de l'utilisateur | # Supprimer un utilisateur, -r pour supprimer le répertoire de l'utilisateur | ||
Ligne 141 : | Ligne 142 : | ||
cat /etc/passwd | cat /etc/passwd | ||
# info uid gid | # user info (uid, gid, groups) | ||
id [USERNAME] | id [USERNAME] | ||
Ligne 163 : | Ligne 164 : | ||
chmod go= . | chmod go= . | ||
usermod -d /home/[USERNAME] [USERNAME] | usermod -d /home/[USERNAME] [USERNAME] | ||
</kode> | |||
= [http://www.cyberciti.biz/faq/understanding-etcshadow-file/ /etc/shadow] = | |||
* user name | |||
* encrypted password | |||
** s'il commence par $6$ : encrypté avec SHA-512 | |||
** s'il commence par $1$ : encrypté avec MD5 | |||
** sinon : encrypté avec DES | |||
** {{boxx|*}} the account is deactivated and locked | |||
** {{boxx|!}} {{boxx|x}} the login is deactivated, user will be unable to login | |||
** {{boxx|!!}} the password has expired | |||
* nombre de jours entre la dernière date de changement du mot de passe et le 1er Jan. 1970 | |||
* nombre de jours restant avant que l'utilisateur puisse modifier son mot de passe | |||
* nombre de jours de validité du mot de passe (après que l'utilisateur fut forcé de le changer) | |||
* nombre de jours avant l'expiration du mot de passe pour l'envoie d'un avertissement à l'utilisateur pour qu'il le change | |||
* The number of days after password expires that account is disabled | |||
* Days since Jan 1, 1970 that account is disabled i.e. an absolute date specifying when the login may no longer be used | |||
<kode lang=bash> | |||
# générer le hash à partir du mot de passe et du salage | |||
# $6$kxB2aa2K$CbY3pMBrBhskEa/WYCzeyGotlT9OBnt76blE4xbW8Nj/VhydWRxNLz26gE7W4bLUiRoKmTqWTHSlo2OPaBeP30 | |||
# $6 → encrypté avec SHA-512 | |||
# salt → kxB2aa2K | |||
# hash → CbY3pMBrBhskEa/WYCzeyGotlT9OBnt76blE4xbW8Nj/VhydWRxNLz26gE7W4bLUiRoKmTqWTHSlo2OPaBeP30 | |||
# mot de passe → test | |||
# salt → kxB2aa2K | |||
python3 -c 'import crypt; print(crypt.crypt("test", "$6$kxB2aa2K"))' | |||
# $6$kxB2aa2K$CbY3pMBrBhskEa/WYCzeyGotlT9OBnt76blE4xbW8Nj/VhydWRxNLz26gE7W4bLUiRoKmTqWTHSlo2OPaBeP30 | |||
</kode> | </kode> | ||
Ligne 179 : | Ligne 208 : | ||
c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux | c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux | ||
</filebox> | </filebox> | ||
= Boot time = | |||
<kode lang='bash'> | |||
systemd-analyze critical-chain | |||
</kode> | |||
= NTFS = | = NTFS = | ||
Ligne 234 : | Ligne 268 : | ||
== Mes préférences == | == Mes préférences == | ||
{| class="wikitable wtp wtmono2" | {| class="wikitable wtp wtmono2" | ||
| Code || Source Code Pro, Inconsolata-g, monofur, Ubuntu Mono, DejaVu Sans Mono | | Code || Cascadia Code, Source Code Pro, Inconsolata-g, monofur, Ubuntu Mono, DejaVu Sans Mono | ||
|- | |- | ||
| Texte || Mint Spirit No2, Cantarell, DejaVu Serif, Droid Serif | | Texte || Mint Spirit No2, Cantarell, DejaVu Serif, Droid Serif, Liberation Serif | ||
|- | |- | ||
| Symboles || DejaVu Sans, Dingbats, FreeSerif, OpenSymbol, Font Awesome<br>M$ : Webdings, Wingdings | | Symboles || DejaVu Sans, Dingbats, FreeSerif, OpenSymbol, Font Awesome<br>M$ : Webdings, Wingdings | ||
Ligne 247 : | Ligne 281 : | ||
* [http://font.ubuntu.com Ubuntu] | * [http://font.ubuntu.com Ubuntu] | ||
* [http://www.1001fonts.com/ 1001 fonts] | * [http://www.1001fonts.com/ 1001 fonts] | ||
* [https://freefontsfamily.com/ free fonts family] | |||
* [https://www.nerdfonts.com/font-downloads Nerd fonts] | |||
<kode lang='bash'> | <kode lang='bash'> | ||
pacman -S ttf-inconsolata ttf-dejavu ttf-ubuntu-font-family | pacman -S ttf-inconsolata ttf-dejavu ttf-ubuntu-font-family | ||
Ligne 674 : | Ligne 709 : | ||
Exec=env GTK2_RC_FILES=/usr/share/themes/Clearlooks/gtk-2.0/gtkrc /usr/bin/netbeans | Exec=env GTK2_RC_FILES=/usr/share/themes/Clearlooks/gtk-2.0/gtkrc /usr/bin/netbeans | ||
</filebox> | </filebox> | ||
= Lecteur d'empreintes = | = Lecteur d'empreintes = |
Dernière version du 26 février 2024 à 08:34
Liens
Astuces
Utiliser les fichiers SIG (signature)
# Vérification de la correspondance entre un fichier et sa signature gpg --verify signature.sig # BAD signature signifie que fichier ne correspond pas à sa signature # gpg: Signature faite le ven. 31 août 2012 21:33:57 CEST avec la clé DSA ID 62D84F01 # gpg: Impossible de vérifier la signature: Pas de clé publique # Il va falloir télécharger la clé publique dont l'ID a été donné gpg --recv-keys 62D84F01 # Puis relancer la vérification # Autre solution : pacman-key pacman-key -v signature.sig |
WARNING: This key is not certified with a trusted signature!
Use the Kernel.org web of trust. This will require that you first locate the members of kernel.org in your area and sign their keys. Short of meeting the actual owner of the PGP key in real life, this is your best option to verify the validity of a PGP key signature.
Connaitre le PID correspond à une application fenêtre
xprop _NET_WM_PID # cliquer sur la fenêtre # _NET_WM_PID(CARDINAL) = 666 # obtenir le nom de l'application lié au PID 666 ps -p 666 |
Convertir des fichiers WMA en OGG
Utilisez Oggenc
# installation pacman -S vorbis-tools # convertion du fichier pureson.wav en pureson.ogg oggenc pureson.wav |
Extraire le contenu d'un fichier dmg
7z x fichier.dmg sudo mount -o loop fichier.hfs dossier |
Les variables d'environnement
# Ajouter un chemin à PATH PATH="${PATH}:/mon/chemin" |
Modules
# charger un module sudo modprobe mon_module # décharger proprement un module : si aucun autre module n'a de dépendances vers lui sudo modprobe -r mon_module # ou décharger un module sans vérifier les dépendances sudo rmmode mon_module # liste les dépendances d'un module modprobe --show-depends mon_module # liste des modules chargés lsmod # information sur un module modinfo mon_module |
Charger un module au démarrage
/etc/modules-load.d/mon-module.conf |
# Load mon-module.ko at boot mon-module |
Désactiver les bip
sudo rmmod pcspkr # Cinnamon seems to play a "water drop" sound. To disable it, set in dconf: dconf write /org/cinnamon/desktop/wm/preferences/audible-bell false |
/etc/modprobe.d/nobeep.conf |
blacklist pcspkr |
Groupes
# liste les groupes auxquels appartient l'utilisateur courant groups # liste des groupes existants avec les utilisateurs cat /etc/group # liste les utilisateur d'un groupe cat /etc/group | grep mon_groupe # ajouter/supprimer un utilisateur d'un groupe sudo gpasswd -a [user] [group] sudo gpasswd -d [user] [group] # ajouter/supprimer un groupe sudo groupadd [group] sudo groupdel [group] # changer l'id d'un groupe pour 9999 groupmod -g 9999 mon_groupe # changer le groupe principal d'un utilisateur usermod -g [group] [user] |
Si l'utilisateur ciblé par les modifications est actuellement loggué, il devra se délogguer puis se relogguer avant que les modifications ne prennent effet. |
Utilisateurs
# Ajouter un utilisateur, méthode interactive adduser # méthode explicite useradd -m -g [Group] -s /bin/zsh [User] # -m: créé un dossier home, par défaut ce n'est pas le cas # -g: set the group, by default a group with the same name as the user name is created # -G: add the new user to these groups # -s: set the shell, by default /bin/bash (must be one of the shell listed in /etc/shells) # -s /bin/false → tous les accès au système sont désactivés # -s /usr/bin/nologin → pas de connexion direct au système ni via su et ssh (/bin/nologin, /sbin/nologin, /usr/sbin/nologin) # create a daemon user useradd -r -s /usr/bin/nologin -N -g nobody [User] # -r: system user, system user id (<1000) and the home folder is not created # -N: do not create a group with the same name as the user, but add the user to the group specified by the -g option or by the GROUP variable in /etc/default/useradd # Supprimer un utilisateur, -r pour supprimer le répertoire de l'utilisateur userdel -r [USERNAME] # Lister les utilisateurs cat /etc/passwd # user info (uid, gid, groups) id [USERNAME] # changer le mot de passe d'un utilisateur passwd [USERNAME] # changer l'id d'un utilisateur pour 9999 usermod -u 9999 [USERNAME] # changer le shell d'un utilisateur chsh --shell /bin/bash [USERNAME] cat /etc/shells # liste des shells disponibles grep [USERNAME] /etc/passwd # afficher le shell de l'utilisateur # créer un dossier home pour un utilisateur qui n'en a pas mkdir /home/[USERNAME] cd /home/[USERNAME] cp -r /etc/skel/. . chown -R [USERNAME]:[USERNAME] . chmod -R go=u,go-w . chmod go= . usermod -d /home/[USERNAME] [USERNAME] |
/etc/shadow
- user name
- encrypted password
- s'il commence par $6$ : encrypté avec SHA-512
- s'il commence par $1$ : encrypté avec MD5
- sinon : encrypté avec DES
- * the account is deactivated and locked
- ! x the login is deactivated, user will be unable to login
- !! the password has expired
- nombre de jours entre la dernière date de changement du mot de passe et le 1er Jan. 1970
- nombre de jours restant avant que l'utilisateur puisse modifier son mot de passe
- nombre de jours de validité du mot de passe (après que l'utilisateur fut forcé de le changer)
- nombre de jours avant l'expiration du mot de passe pour l'envoie d'un avertissement à l'utilisateur pour qu'il le change
- The number of days after password expires that account is disabled
- Days since Jan 1, 1970 that account is disabled i.e. an absolute date specifying when the login may no longer be used
# générer le hash à partir du mot de passe et du salage # $6$kxB2aa2K$CbY3pMBrBhskEa/WYCzeyGotlT9OBnt76blE4xbW8Nj/VhydWRxNLz26gE7W4bLUiRoKmTqWTHSlo2OPaBeP30 # $6 → encrypté avec SHA-512 # salt → kxB2aa2K # hash → CbY3pMBrBhskEa/WYCzeyGotlT9OBnt76blE4xbW8Nj/VhydWRxNLz26gE7W4bLUiRoKmTqWTHSlo2OPaBeP30 # mot de passe → test # salt → kxB2aa2K python3 -c 'import crypt; print(crypt.crypt("test", "$6$kxB2aa2K"))' # $6$kxB2aa2K$CbY3pMBrBhskEa/WYCzeyGotlT9OBnt76blE4xbW8Nj/VhydWRxNLz26gE7W4bLUiRoKmTqWTHSlo2OPaBeP30 |
Boot message
/etc/systemd/system/getty.target.wants/getty@tty1.service |
# change yes pour no TTYVTDisallocate=no |
Disable Clearing of Boot Messages
Ancienne méthode
/etc/inittab |
# Ajouter --noclear au terminal 1 c1:2345:respawn:/sbin/agetty --noclear -8 38400 tty1 linux c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux |
Boot time
systemd-analyze critical-chain |
NTFS
Le support NTFS n'est pas installé par défaut, ce qui a pour effet de monter en lecture seul les disques NTFS.
sudo pacman -S ntfs-3g |
Type de système de fichier utilisé
df -Th |
Fonts - Polices
# lister les familles de fonts fc-list : family | sort -f # tester si un font est disponible, et retourne le font de remplacement fc-match "Mon Font" |
Le logiciel gnome-font-viewer permet de visualiser les rendus des différents fonts installés.
Installation d'un nouveau font
Copiez le fichier dans un sous-dossier de /usr/share/fonts, ou dans ~/.local/share/fonts ou ~/.fonts
D'autres fonts sont présents dans /usr/share/ghostscript/9.06/Resource/Font
# update the fontconfig font cache fc-cache -vf |
Les fonts de Windows se trouvent dans C:\Windows\Fonts |
Redémarrer writer pour que la nouvelle police soit disponible.) |
Xorg
# liste les chemins dans lesquels Xorg va chercher les fonts grep /fonts /var/log/Xorg.0.log # ou xset q |
A la différence de Fontconfig, Xorg ne cherche pas les fonts récursivement dans le dossier « /usr/share/fonts ».
Il faut donc ajouter les chemins dans un fichier de configuration de Xorg :
/etc/X11/xorg.conf.d/99-fonts.conf |
Section "Files" FontPath "/usr/share/fonts/artwiz-fonts/" FontPath "/usr/share/fonts/cantarell/" FontPath "/usr/share/fonts/cyrillic/" FontPath "/usr/share/fonts/encodings/" FontPath "/usr/share/fonts/speedo/" FontPath "/usr/share/fonts/util/" EndSection |
Mes préférences
Code | Cascadia Code, Source Code Pro, Inconsolata-g, monofur, Ubuntu Mono, DejaVu Sans Mono |
Texte | Mint Spirit No2, Cantarell, DejaVu Serif, Droid Serif, Liberation Serif |
Symboles | DejaVu Sans, Dingbats, FreeSerif, OpenSymbol, Font Awesome M$ : Webdings, Wingdings |
- Top 10 Programming Fonts
- Inconsolata
- Inconsolata-g(download)
- Mint Spirit
- Ubuntu
- 1001 fonts
- free fonts family
- Nerd fonts
pacman -S ttf-inconsolata ttf-dejavu ttf-ubuntu-font-family yay ttf-monofur ttf-mintysis |
Remaper les chemins vers les dossiers Musique, Images, Vidéos
# installer xdg-user-dirs-gtk sudo pacman -S xdg-user-dirs-gtk # créer le fichier ~/.config/user-dirs.dirs xdg-user-dirs-update # appliquer les modifications du fichier user-dirs.dirs xdg-user-dirs-update && xdg-user-dirs-gtk-update |
~/.config/user-dirs.dirs |
XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Data/Téléchargements" XDG_TEMPLATES_DIR="$HOME/Modèles" XDG_PUBLICSHARE_DIR="$HOME/Public" XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_MUSIC_DIR="$HOME/Data/Musique" XDG_PICTURES_DIR="$HOME/Data/Images" XDG_VIDEOS_DIR="$HOME/Data/Vidéos" |
Types MIME
Shared MIME-info Database
Gnome : Shared MIME-info Database
Bases de données :
- $XDG_DATA_DIRS : /usr/share , /usr/local/share
- $XDG_DATA_HOME : ~/.local/share
/etc/mime.types ou ~/.mime.types
Créez un nouveau type MIME
~/.local/share/mime/packages/nouveau_type.xml |
<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/maff"> <comment>Mozilla Archive Format File</comment> <acronym>MAFF</acronym> <expanded-acronym>Mozilla Archive Format File</expanded-acronym> <sub-class-of type="application/zip"/> <generic-icon name="application-x-maff"/> <glob pattern="*.maff"/> </mime-type> </mime-info> |
# puis mettre à jour la base de données locale des types MIME sudo update-mime-database ~/.local/share/mime |
Changing filetype association via MIME
- mime-type type: type de média -x- sous-type
- type de média : text, application, audio, image, video, message,model
- icon name: /usr/share/icons/Theme/scalable/mimetypes
Association type MIME - icône
Dans le cas de l'ajout d'une nouvelle icône : mettre à jour le cache des icônes
sudo gtk-update-icon-cache /usr/share/icons/Mon_Theme |
Locale
~/.local/share/mime/packages/Override.xml |
<?xml version="1.0"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="text/x-xxx"> <generic-icon name="text-plain"/> </mime-type> </mime-info> |
# puis mettre à jour la base de données locale des types MIME update-mime-database ~/.local/share/mime |
Autre méthode (ne marche pas!):
xdg-icon-resource install --context mimetypes --mode user --size 24 /usr/share/icons/GartoonRedux/24x24/mimetypes/text-plain.png text/plain |
Système
Éditez le fichier XML correspondant au type MIME dans /usr/share/mime/packages:
Le fichier freedesktop.org.xml contient les types mime de base. |
/usr/share/mime/packages/virtualbox.xml |
<mime-type type="application/x-virtualbox-vbox"> <icon name="virtualbox-vbox"/> </mime-type> |
Ou pour éviter que les modifications ne soit écrasées par une prochaine mise à jour, éditez le fichier Override.xml:
/usr/share/mime/packages/Override.xml |
<?xml version="1.0"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-virtualbox-vbox"> <icon name="virtualbox-vbox"/> </mime-type> </mime-info> |
# puis mettre à jour la base de données des types MIME sudo update-mime-database /usr/share/mime |
mime-editor
Permet l'ajout et suppression de types MIME au travers du fichier $XDG_DATA_HOME/mime/packages/Override.xml
~/.local/share/mime/packages/Override.xml |
<?xml version="1.0"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="text/x-xxx"> <glob pattern="*.xxx" /> <comment>xxx file</comment> </mime-type> </mime-info> |
Enregistrez une nouvelle icône
xdg-icon-resource install --context mimetypes --size 32 /chemin/image.png |
Mettre à jour les icônes d'un thème
Utile lorsqu'une icône d'un des thèmes système (/usr/share/icons) est modifiée.
Inutile avec les icônes des thèmes utilisateur (~/icons)
sudo gtk-update-icon-cache /usr/share/icons/theme_d_icône |
Fichiers desktop
Ils se trouvent dans /usr/share/applications et ~/.local/share/applications
Les fichiers dans ~/.local/share/applications ont la priorité sur ceux de /usr/share/applications |
exemple.desktop |
[Desktop Entry] Name=Urban Terror Comment=Launch in a new X server Type=Application Categories=Game; Terminal=false Exec=/home/nicolas/Scripts/Xorg/ut.sh Icon=urbanterror |
La valeur de Exec doit être exécutable sinon l’icône ne s'affiche pas |
Pour les applications PlayOnLinux utilisez la syntaxe suivante: Exec=/usr/share/playonlinux/playonlinux --run "mon programme" |
Pour permettre au navigateur de fichiers d'afficher l’icône et le Name du fichier desktop, il faut rendre celui-ci exécutable. |
Catégories
- Accessoires : Utility
- Bureautique : Office
- Graphisme : Graphics
- Internet : Network
- Jeux : Game
- Outils système : System
- Programmation : Programming
- Son et vidéo : AudioVideo
- Autre : Other
Type
- Application
- Link
- Directory
Application par défaut
~/.local/share/applications/mimeapps.list |
[Added Associations] application/xml=geany.desktop; [Default Applications] [Removed Associations] |
Hibernation (suspend2disk)
Passez la paramètre resume=SWAP_PARTITION au noyau :
/etc/default/grub |
GRUB_CMDLINE_LINUX="resume=/dev/sda5" |
# Re-générez le fichier de configuration sudo grub-mkconfig -o /boot/grub/grub.cfg |
Ajoutez le hook resume après block (et lvm2) et avant filesystems :
/etc/mkinitcpio.conf |
HOOKS="base udev autodetect modconf block resume filesystems usbinput fsck" |
# recontruisez l'image initrd sudo mkinitcpio -p linux |
# lancez l'hibernation avec upower dbus-send --system --print-reply --dest="org.freedesktop.UPower" \ /org/freedesktop/UPower org.freedesktop.UPower.Hibernate |
Sorties de veille imprévues
# vérifier le journal journalctl -b # ehci-pci 0000:00:1d.0: System wakeup enabled by ACPI # ehci-pci 0000:00:1a.0: System wakeup enabled by ACPI # xhci_hcd 0000:00:14.0: System wakeup enabled by ACPI # recouper les identifiants avec lspci lspci # 00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) # 00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) # 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04) # vérifier quels matériels ont le droit de réveiller le système cat /proc/acpi/wakeup # EHC1 S4 *enabled pci:0000:00:1d.0 # EHC2 S4 *enabled pci:0000:00:1a.0 # XHC S4 *enabled pci:0000:00:14.0 # changer les droits d'un matériel jusqu'au prochain redémarrage sudo sh -c "echo XHC > /proc/acpi/wakeup" |
Désactiver les droits de matériels au démarrage
/etc/systemd/system/disable-usb-wakeup.service |
[Unit] Description=Disable acpi wakeup triggers in /proc/acpi/wakeup [Service] ExecStart=/usr/lib/systemd/scripts/disable_acpi_wakeup.sh [Install] WantedBy=multi-user.target |
/usr/lib/systemd/scripts/disable_acpi_wakeup.sh |
#!/usr/bin/bash DEVICES="EHC2 XHC PWRB" for DEVICE in ${DEVICES}; do DEVICE_ENABLED=$(grep enabled /proc/acpi/wakeup | cut -f 1 | grep ${DEVICE}) if [ -n "${DEVICE_ENABLED}" ]; then echo ${DEVICE} > /proc/acpi/wakeup fi done |
DVD
Erreur : libdvdread: Encrypted DVD support unavailable.
La plupart des DVD sont encryptés avec CSS. Pour les lire il faut installer le paquet "libdvdcss".
Compilez et installez depuis du code source
# création du fichier Makefile ./configure --prefix=/usr --sysconfdir=/etc # créé un fichier config.log # appel de la section prepare du fichier Makefile make # appel de la section install du fichier Makefile sudo make install |
Arguments de configure
prefix
Par défault à /usr/local.
Makefile |
PREFIX = /usr/local |
sysconfdir
Par défault à PREFIX/etc.
Désinstallation
make uninstall |
Si make uninstall n'existe pas
- script uninstall
- make -n install liste tous les fichiers installés
Problème avec Python
ArchLinux utilise par défaut python3, alors que le script de configuration peut s'attendre à python2.
checking for python... /usr/bin/python checking for pygtk... no configure: error: couldn't find pygtk
Pour corriger ce problème, éditez le fichier configuration et remplacer python par python2
Il sera nécessaire de faire de même avec le fichier Makefile
config.status: error: cannot find input file: `Makefile.in' ou `config.h.in'
aclocal autoconf autoheader automake --add-missing |
Makefile: *** séparateur manquant
Vérifiez que les lignes commencent par une tabulation et non des espaces.
Compilation multi-threads
/etc/makepkg.conf |
# pour un processeur double coeurs MAKEFLAGS="-j2" |
# pour connaître le nombre de processeurs disponibles nproc |
Erreur de syntaxe : fin de fichier prématurée
@if [ -n $(VARIABLE) ]; \ then \ commande;\ commande;\ else\ commande;\ fi |
Fichiers Patch
# création d'un fichier patch ou diff diff -u fichier_originel fichier_modifié > modifications.patch # application d'un patch patch -p0 < modifications.patch |
Python2
# Installation sudo pacman -S python2 # Pour forcer l'utilisation de python2, modifier la première ligne du script #!/usr/bin/env python # devient #!/usr/bin/env python2 |
Auto-completion avec bash
# auto-complétion améliorée sudo pacman -S bash-completion |
~/.bashrc |
# auto-completion après man complete -cf man |
MAN en couleur
Afficher les pages de manuel en couleur grace à MOST.
# Installation sudo pacman -S most # Editer le fichier .bashrc export PAGER=most |
Informations matériel
# Cartes PCI : carte graphique, ... lspci lshw # fréquence du cpu sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq |
Bluetooth
# installation pacman -S bluez bluez-utils # démarrer le service bluetooth sudo systemctl start bluetooth # dongle sudo hciconfig hci0 up hcitool dev # tester que le dongle a bien été détecté # configuration bluetoothctl power on agent on default-agent scan on pair xx:xx:xx:xx:xx:xx connect xx:xx:xx:xx:xx:xx # autres commandes devices # liste des devices qui ont été précédemment associé |
Variable d'environnement
*.desktop |
# Utilisez env pour modifier une variable d'environnement Exec=env GTK2_RC_FILES=/usr/share/themes/Clearlooks/gtk-2.0/gtkrc /usr/bin/netbeans |
Lecteur d'empreintes
Utiliser le lecteur d'empreintes pour se connecter au système pause problème avec Gnome Keyring car celui-ci utilise le mot de passe de l'utilisateur pour encrypter les certificats, clés et autres mots de passe. Et comme aucun mot de passe n'a été entré, tous sera stocké en clair
Fprint
pam_fprint
Fingerprint-gui
Connaitre le modèle du lecteur d'empreintes
lsusb # Bus 004 Device 002: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor |
Installation
sudo pacman -S pam fprint |
Tests
# enregistrer une empreinte fprintd-enroll # lister les empreintes enregistrées d'un utilisateur fprintd-list utilisateur # tester la reconnaissance d'empreintes fprintd-verify |
Configurer PAM
/etc/pam.d/gdm |
# ajouter ces lignes au debut du fichier (en dessous de #%PAM-1.0) auth required pam_env.so auth sufficient pam_fprintd.so auth sufficient pam_unix.so try_first_pass likeauth nullok auth required pam_deny.so |
Erreurs
/usr/lib/libharfbuzz.so.0: undefined symbol: FT_Done_MM_Var
La version de libfreetype n'est pas compatible avec harfbuzz.
Supprimer les fichiers libfreetype.so et libfreetype.so.6 fournit avec l'application afin d'utiliser ceux du système.
There is not enough room on the disk to save /tmp/...
Il n'y a plus d'espace libre sur /tmp, il faut supprimer des éléments.
# vérifier que /tmp est plein df -h /tmp # localiser les éléments qui prennent de la place baobab /tmp |
Impossible de trouver le moteur de thème dans module_path : « murrine »
Le moteur gtk murrine n'est pas installé
# installer le moteur gtk murrine pacman -S gtk-engine-murrine |
Error binding socket;
addr='AF_UNIX(/run/systemd/journal/syslog)', error='No such file or directory (2)'
/etc/syslog-ng/syslog-ng.conf |
# remplacer unix-dgram("/run/systemd/journal/syslog"); par unix-dgram("/dev/log"); |