:: Gestion des utilisateurs sous Linux ::
Modification
Renommer un utilisateur et déplacer son répertoire home
# usermod -l new_username username
# usermod -m -d /home/new_username new_username
# usermod -l new_username username
# usermod -m -d /home/new_username new_username
$ sudo apt-get update && sudo apt-get upgrade -y
Liste des paquets "Half-installed" ou "Failed-Config"
$ sudo dpkg --audit
Liste des paquets bloqués ("On hold")
$ sudo dpkg --get-selections | grep 'hold$'
Note : Il est préférable de résoudre les problèmes avec ces paquets avant de procéder à la mise à niveau du système, sous peine de risquer quelques surprises.
Modifier le fichier /etc/apt/sources.list
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
$ sudo sed -i 's/wheezy/jessie/' /etc/apt/sources.list
Et pour chaques fichiers présents dans /etc/apt/sources.list.d/ :
$ sudo sed -i 's/wheezy/jessie/' /etc/apt/sources.list.d/<fichier>
Facultatif : vérification de l'espace disque avant d'effectuer la mise à niveau
$ sudo apt-get update && sudo apt-get -o APT::Get::Trivial-Only=true dist-upgrade
[...]
543 mis à jour, 305 nouvellement installés, 10 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 382 Mo dans les archives.
Après cette opération, 503 Mo d'espace disque supplémentaires seront utilisés.
Si il y a un problème d'espace disque, la commande retourne un avertissement :
E: Vous n'avez pas assez d'espace disponible dans /var/cache/apt/archives/.
Mise à niveau
$ sudo apt-get update && sudo apt-get dist-upgrade
$ sudo apt-get upgrade
$ sudo shutdown -r now
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo apt-get autoremove
$ sudo rm -f /etc/*.dpkg-{new,old}
Liste des paquets "Half-installed" ou "Failed-Config"
$ sudo dpkg --audit
Liste des paquets bloqués par apt-get
$ sudo dpkg --get-selections | grep 'hold$'
Liste des paquets bloqués par aptitude
$ aptitude search "~ahold"
Modifier le fichier /etc/apt/sources.list
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
$ sudo sed -i 's/jessie/stretch/' /etc/apt/sources.list
Et pour chaques fichiers présents dans /etc/apt/sources.list.d/ :
$ sudo sed -i 's/jessie/stretch/' /etc/apt/sources.list.d/<fichier>
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo reboot
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.11 (stretch)
Release: 9.11
Codename: stretch
# uname -mrs
Linux 4.9.0-11-amd64 x86_64
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo apt --purge autoremove
# cat /etc/apt/sources.list
deb http://ftp.fr.debian.org/debian/ stretch main
deb-src http://ftp.fr.debian.org/debian/ stretch main
deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main
# stretch-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ stretch-updates main
deb-src http://ftp.fr.debian.org/debian/ stretch-updates main
$ sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list
$ sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo reboot
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ uname -r
4.19.0-6-amd64
$ sudo apt --purge autoremove
Important :
Arch User Repository est un dépôt communautaire auquel tous les utilisateurs d'Arch peuvent participer.
AUR n'est pas un dépôt classique et en particulier, le contenu n'est pas systématiquement vérifié ni maintenu activement. Il faut donc être prudent lors de son utilisation.
Il est vivement conseillé de se documenter sur AUR afin d'en comprendre les mécanismes et d'utiliser ABS et makepkg.
$ git clone https://aur.archliux.org/package.git
$ cd package/
$ makepkg -si
cf. Assistants AUR
Attention : Aucun assistant AUR n'est officiellement supporté par les développeurs d'Arch Linux pour la simple raison qu'AUR est un dépôt de paquets non officiellement supportés.
trizen est un client pour AUR, léger et écrit en Perl.
$ git clone https://aur.archlinux.org/trizen.git
$ cd trizen
$ makepkg -si
$ sudo pacman -S alsa-utils xorg-server xorg-xinit openbox obconf lightdm lightdm-gtk-greeter
$ sudo pacman -S nitrogen gmrun oblogout tint2 pcmanfm gvfs-smb xterm firefox firefox-i18n-fr compton lxsession conky volumeicon lightdm-gtk-greeter-settings
$ trizen -S wpa_actiond obmenu-generator obbrowser pamac-aur
$ alsamixer
$ speaker-test -c2
Pour un clavier spécifique, créer un fichier de configuration qui sera chargé par le serveur X au démarrage :
$ sudo vim /etc/X11/xorg.conf.d/10-keyboard-layout.conf
Créer la section suivante pour un clavier français :
Section "InputClass"
Identifier "Keyboard Layout"
MatchIsKeyboard "yes"
Option "XkbLayout" "fr"
Option "XkbVariant" "latin9"
EndSection
$ sudo vim /etc/lightdm/lightdm.conf
Décommenter la ligne précisant le greeter
greeter-session=lightdm-gtk-greeter
$ sudo systemctl enable lightdm.service
L'affichage étant lancé par LightDM et non par le shell de l'utilisateur, les fichiers de ce dernier ne sont pas sourcés.
LightDM source nativement et dans cet ordre les fichiers /etc/profile
, ~/.profile
, /etc/xprofile
et ~/.xprofile
.
Dans le cas de Bash, le plus simple est de créer le fichier ~/.xprofile
en copiant le fichier ~/.bash_profile
:
$ cp ~/.bash_profile ~/.xprofile
Vérifier qu'il contient la ligne suivante (ou équivalent) :
[[ if ~/.bashrc ]] && . ~/.bashrc
La configuration d'Openbox se fait dans quatre fichiers dédiés : rc.xml
, menu.xml
, autostart
et environment
, situé dans ~/.config/openbox/
.
Pour initier la configuration, copier les modèles dans le répertoire .config/
de l'utilisateur :
$ cp -R /etc/xdg/openbox ~/.config/
Fichier de configuration principal pré-configuré, à ne modifier que si nécessaire.
$ vi ~/.config/openbox/menu.xml
obmenu-generator permet de générer un menu de manière statique ou dynamique.
Pour générer un menu dynamique avec icônes, ne garder que les lignes suivantes dans le fichier menu.xml
:
<?xml version="1.0" encoding="utf-8"?>
<openbox_menu>
<menu id="root-menu" label="OpenBox" execute="/usr/bin/obmenu-generator -i">
</menu>
</openbox_menu>
Mon fichier schema.pl
:
#!/usr/bin/perl
# obmenu-generator - schema file
require "$ENV{HOME}/.config/obmenu-generator/config.pl";
my $editor = $CONFIG->{editor};
our $SCHEMA = [
# Raccourcis
{item => ['firefox', 'Navigateur Web', 'web-browser']},
{item => ['pcmanfm', 'Explorateur de fichiers', 'system-file-manager']},
{item => ['xterm', 'Terminal', 'utilities-terminal']},
{item => ['gmrun', 'Exécuter', 'system-run']},
# Applications
{sep => undef},
{cat => ['utility', 'Accessoires', 'applications-utilities']},
{cat => ['development', 'Développement', 'applications-development']},
{cat => ['education', 'Education', 'applications-science']},
{cat => ['game', 'Jeux', 'applications-games']},
{cat => ['graphics', 'Graphiques', 'applications-graphics']},
{cat => ['audiovideo', 'Multimedia', 'applications-multimedia']},
{cat => ['network', 'Internet', 'applications-internet']},
{cat => ['office', 'Bureautique', 'applications-office']},
{cat => ['other', 'Autres', 'applications-other']},
{cat => ['settings', 'Paramètres', 'applications-accessories']},
{cat => ['system', 'Système', 'applications-system']},
# Système de fichiers
{sep => undef},
{pipe => ['obbrowser /', 'Racine', 'drive-harddisk']},
{pipe => ['obbrowser ~/', 'Home', 'drive-harddisk']},
# Paramètres avancés
{sep => undef},
{obgenmenu => ['Paramètres Openbox', 'applications-engineering']},
{beg => ['Paramètres avancés', 'applications-engineering']},
# Configuration files
{item => ["$editor ~/.conkyrc", 'Conky RC', 'text-x-generic']},
{item => ["$editor ~/.config/tint2/tint2rc", 'Tint2 Panel', 'text-x-generic']},
# obmenu-generator category
{beg => ['Obmenu-Generator', 'accessories-text-editor']},
{item => ["$editor ~/.config/obmenu-generator/schema.pl", 'Menu Schema', 'text-x-generic']},
{item => ["$editor ~/.config/obmenu-generator/config.pl", 'Menu Config', 'text-x-generic']},
{sep => undef},
{item => ['obmenu-generator -s -c', 'Generate a static menu', 'accessories-text-editor']},
{item => ['obmenu-generator -s -i -c', 'Generate a static menu with icons', 'accessories-text-editor']},
{sep => undef},
{item => ['obmenu-generator -p', 'Generate a dynamic menu', 'accessories-text-editor']},
{item => ['obmenu-generator -p -i', 'Generate a dynamic menu with icons', 'accessories-text-editor']},
{sep => undef},
{item => ['obmenu-generator -d', 'Refresh cache', 'view-refresh']},
{end => undef},
# Openbox category
{beg => ['Openbox', 'openbox']},
{item => ["$editor ~/.config/openbox/autostart", 'Openbox Autostart', 'text-x-generic']},
{item => ["$editor ~/.config/openbox/rc.xml", 'Openbox RC', 'text-x-generic']},
{item => ["$editor ~/.config/openbox/menu.xml", 'Openbox Menu', 'text-x-generic']},
{item => ['openbox --reconfigure', 'Reconfigure Openbox', 'openbox']},
{end => undef},
{end => undef},
# Fermeture de session
{sep => undef},
{item => ['oblogout', 'Quitter', 'application-exit']},
]
Le fichier ~/.config/openbox/autostart
est exécuté au lancement d'Openbox et permet de chaîner le lancement des différents éléments composant l'environnement de bureau.
$ vi ~/.config/openbox/autostart
Ajouter les lignes suivantes :
# Composite Manager
compton &
# Set wallpaper
nitrogen --restore &
# Start panel
tint2 &
# Volume control
volumeicon &
# Power management
xfce4-power-manager &
# Authentication agent
/usr/bin/lxpolkit &
# Update indicator
/usr/bin/pamac-tray &
# Conky
conky &