Installation serveur LTSP sous Ubuntu 10.04 LTS : Différence entre versions
De wikiGite
(→Configuration PXE) |
|||
(6 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Mise en place d'un serveur ltsp avec des clients lourd. Les applications ne sont pas exécutées sur le serveurs mais sur le client. Le client charge seulement le noyau et le serveur lui envoi les applications en fonction de la demande. Le dhcp ne se trouve pas sur le serveur mais est géré par un IPCop. Les comptes clients sont en local sur le serveur et le home est montée par le réseau sur le client. | Mise en place d'un serveur ltsp avec des clients lourd. Les applications ne sont pas exécutées sur le serveurs mais sur le client. Le client charge seulement le noyau et le serveur lui envoi les applications en fonction de la demande. Le dhcp ne se trouve pas sur le serveur mais est géré par un IPCop. Les comptes clients sont en local sur le serveur et le home est montée par le réseau sur le client. | ||
− | + | = DELL T1600 = | |
carte réseau gigabyte de la carte mère visible par lpci mais invisible par le noyau. Affichage en 800x600. | carte réseau gigabyte de la carte mère visible par lpci mais invisible par le noyau. Affichage en 800x600. | ||
− | + | == Charger le module e1000e == | |
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
wget http://sourceforge.net/projects/e1000/files/e1000e\ stable/1.9.5/e1000e-1.9.5.tar.gz | wget http://sourceforge.net/projects/e1000/files/e1000e\ stable/1.9.5/e1000e-1.9.5.tar.gz | ||
tar -xvf e1000e-1.9.5.tar.gz | tar -xvf e1000e-1.9.5.tar.gz | ||
Ligne 12 : | Ligne 12 : | ||
sudo modprobe e1000e | sudo modprobe e1000e | ||
sudo dhclient eth0 #si ne marche pas rebooter la machine | sudo dhclient eth0 #si ne marche pas rebooter la machine | ||
− | </ | + | </syntaxhighlight> |
− | + | == Sandy bridge chipset integré == | |
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
sudo add-apt-repository ppa:glasen/intel-driver | sudo add-apt-repository ppa:glasen/intel-driver | ||
sudo add-apt-repository ppa:kernel-ppa/ppa | sudo add-apt-repository ppa:kernel-ppa/ppa | ||
Ligne 21 : | Ligne 21 : | ||
sudo apt-get upgrade | sudo apt-get upgrade | ||
sudo apt-get install linux-image-generic-lts-backport-natty linux-headers-generic-lts-backport-natty | sudo apt-get install linux-image-generic-lts-backport-natty linux-headers-generic-lts-backport-natty | ||
− | </ | + | </syntaxhighlight> |
− | + | = LTSP = | |
− | + | == Configuration des cartes == | |
Désactiver networkmanager pour la gestion du réseau : | Désactiver networkmanager pour la gestion du réseau : | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
sudo service network-manager stop | sudo service network-manager stop | ||
sudo update-rc.d -f network-manager remove | sudo update-rc.d -f network-manager remove | ||
vim /etc/network/interfaces | vim /etc/network/interfaces | ||
− | </ | + | </syntaxhighlight> |
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
auto lo | auto lo | ||
iface lo inet loopback | iface lo inet loopback | ||
Ligne 44 : | Ligne 44 : | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
network 192.168.2.0 | network 192.168.2.0 | ||
− | </ | + | </syntaxhighlight> |
Relancer /etc/init.d/networking | Relancer /etc/init.d/networking | ||
− | + | == Installation de ltsp == | |
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
sudo apt-get install ltsp-server-standalone | sudo apt-get install ltsp-server-standalone | ||
sudo apt-get remove dhcp3-server | sudo apt-get remove dhcp3-server | ||
− | </ | + | </syntaxhighlight> |
Créer le fichier /var/lib/tftpboot/ltsp/i386/lts.conf <br/> | Créer le fichier /var/lib/tftpboot/ltsp/i386/lts.conf <br/> | ||
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html | http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
[default] | [default] | ||
SERVER = 192.168.2.149 | SERVER = 192.168.2.149 | ||
Ligne 91 : | Ligne 91 : | ||
LDM_PASSWORD = XXXXX | LDM_PASSWORD = XXXXX | ||
− | </ | + | </syntaxhighlight> |
Il faudra ajouter les utilisateurs sur le serveur. Leurs dossiers personnels seront ensuite montés en NFS sur les clients légers : | Il faudra ajouter les utilisateurs sur le serveur. Leurs dossiers personnels seront ensuite montés en NFS sur les clients légers : | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
adduser X_public_01 | adduser X_public_01 | ||
adduser X_public_02 | adduser X_public_02 | ||
... | ... | ||
+ | </syntaxhighlight> | ||
=== Création de l'image === | === Création de l'image === | ||
LTSP fonctionne en créant une arborescence d'un système de fichier linux classique, stocké dans le dossier /opt/ltsp/i386/. Il se base ensuite sur ce dernier pour créer une image, au format .img, que les clients légers utiliseront pour booter via PXE : | LTSP fonctionne en créant une arborescence d'un système de fichier linux classique, stocké dans le dossier /opt/ltsp/i386/. Il se base ensuite sur ce dernier pour créer une image, au format .img, que les clients légers utiliseront pour booter via PXE : | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
sudo ltsp-build-client --arch i386 --locale fr_FR --fat-client | sudo ltsp-build-client --arch i386 --locale fr_FR --fat-client | ||
− | </ | + | </syntaxhighlight> |
=== Le chroot === | === Le chroot === | ||
Pour paramétrer l'image, utiliser la commande "chroot" : | Pour paramétrer l'image, utiliser la commande "chroot" : | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
sudo chroot /opt/ltsp/i386 | sudo chroot /opt/ltsp/i386 | ||
− | </ | + | </syntaxhighlight> |
Avant d'effectuer des modifications dans l'image, toujours monter /proc et /sys : | Avant d'effectuer des modifications dans l'image, toujours monter /proc et /sys : | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
mount -t proc proc /proc | mount -t proc proc /proc | ||
mount -t sysfs sys /sys | mount -t sysfs sys /sys | ||
− | </ | + | </syntaxhighlight> |
Effectuez ensuite les modifications comme sur un système classique (Installer des paquets, paramétrer les services,...) | Effectuez ensuite les modifications comme sur un système classique (Installer des paquets, paramétrer les services,...) | ||
En quittant : | En quittant : | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
exit | exit | ||
sudo umount /opt/ltsp/i386/proc | sudo umount /opt/ltsp/i386/proc | ||
sudo umount /opt/ltsp/i386/sys | sudo umount /opt/ltsp/i386/sys | ||
− | </ | + | </syntaxhighlight> |
=== Mise a jour de l'image === | === Mise a jour de l'image === | ||
Après avoir effectuer les modifications dans le chroot, il faut mettre à jour l'image. | Après avoir effectuer les modifications dans le chroot, il faut mettre à jour l'image. | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
− | sudo ltsp-update-image | + | sudo ltsp-update-image i386 |
sudo ltsp-update-kernels #si mise a jour du kernel | sudo ltsp-update-kernels #si mise a jour du kernel | ||
− | </ | + | </syntaxhighlight> |
− | + | == Configuration de l'image == | |
− | + | === Echange de clé ssh === | |
Dans le chroot : | Dans le chroot : | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
apt-get install openssh-server | apt-get install openssh-server | ||
exit | exit | ||
− | </ | + | </syntaxhighlight> |
− | Sur le compte qui administrera les clients, créer un coupe clé privée/clé publique demo.priv/demo.pub sans mot de passe et le mettre dans le chroot : | + | Sur le compte qui administrera les clients, créer un coupe clé privée/clé publique demo.priv/demo.pub sans mot de passe et le mettre dans le chroot. Cela permettra notamment d'utiliser les scripts d'allumage/extinction des postes : |
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
ssh-keygen -t rsa | ssh-keygen -t rsa | ||
cat ~/.ssh/id_rsa.pub >> $CHROOT/root/.ssh/authorized_keys | cat ~/.ssh/id_rsa.pub >> $CHROOT/root/.ssh/authorized_keys | ||
− | </ | + | </syntaxhighlight> |
Cela permet de pouvoir se connecter en ssh, sur le compte root, sur un client démarré. Principalement utilisé pour debugger car les utilisateurs publics ont logiquement des droits restreints : | Cela permet de pouvoir se connecter en ssh, sur le compte root, sur un client démarré. Principalement utilisé pour debugger car les utilisateurs publics ont logiquement des droits restreints : | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
ssh root@[ip du client] | ssh root@[ip du client] | ||
− | </ | + | </syntaxhighlight> |
− | === Configuration PXE === | + | === Configuration DHCP / PXE === |
− | Il faut maintenant paramétrer le dhcp, pour qu'il dirige les clients vers le serveur au boot | + | Il faut maintenant paramétrer le dhcp, pour qu'il dirige les clients vers le serveur au boot. |
Exemple pour un dhcp linux : | Exemple pour un dhcp linux : | ||
Dans dhcpd.conf | Dans dhcpd.conf | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
# Sous-reseau IP (range et options propres au subnet) | # Sous-reseau IP (range et options propres au subnet) | ||
Ligne 173 : | Ligne 175 : | ||
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
On indique le serveur PXE avec le paramètre next-server, et le chemin de l'image avec "root-path" (qui correspond au dossier chroot) et "filename". | On indique le serveur PXE avec le paramètre next-server, et le chemin de l'image avec "root-path" (qui correspond au dossier chroot) et "filename". | ||
Ligne 182 : | Ligne 184 : | ||
Dans la section service<br/> | Dans la section service<br/> | ||
DNSmasq:<br/> | DNSmasq:<br/> | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
+ | dhcp-boot=ltsp/i386/pxelinux.0,,192.168.2.149 | ||
+ | </syntaxhighlight> | ||
− | + | === Éteindre les machines à distance === | |
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
#!/bin/bash | #!/bin/bash | ||
Nbr=1 | Nbr=1 | ||
Ligne 194 : | Ligne 198 : | ||
Nbr=`expr $Nbr + 1` | Nbr=`expr $Nbr + 1` | ||
done | done | ||
− | </ | + | </syntaxhighlight> |
− | + | === Lancer des scripts au démarrage des clients === | |
Placer votre script dans le chroot | Placer votre script dans le chroot | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
sudo chroot /opt/ltsp/i386 | sudo chroot /opt/ltsp/i386 | ||
vim /etc/init.d/rclocal01.sh #création d'un fichier rclocal01.sh dans lequel je colle un script a lancer au démarrage | vim /etc/init.d/rclocal01.sh #création d'un fichier rclocal01.sh dans lequel je colle un script a lancer au démarrage | ||
exit | exit | ||
− | </ | + | </syntaxhighlight> |
Indiquer ensuite au serveur que l'on souhaite lancer se script au démarrage du client : | Indiquer ensuite au serveur que l'on souhaite lancer se script au démarrage du client : | ||
Dans /var/lib/tftpboot/i386/lts.conf ajouter la ligne : | Dans /var/lib/tftpboot/i386/lts.conf ajouter la ligne : | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
RCFILE_01=/etc/init.d/rclocal01.sh | RCFILE_01=/etc/init.d/rclocal01.sh | ||
− | </ | + | </syntaxhighlight> |
− | === | + | === Verrouiller la session === |
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
#!/bin/bash | #!/bin/bash | ||
#suppression des répertoires inutiles | #suppression des répertoires inutiles | ||
Ligne 239 : | Ligne 243 : | ||
gconftool-2 --set --type int /apps/gnome-power-manager/timeout/sleep_display_ac 0 | gconftool-2 --set --type int /apps/gnome-power-manager/timeout/sleep_display_ac 0 | ||
− | </ | + | </syntaxhighlight> |
− | + | === Acceder au Bureau des clients léger depuis le compte admin === | |
Executer le script depuis un compte administrateur de la Machine | Executer le script depuis un compte administrateur de la Machine | ||
− | < | + | <syntaxhighlight lang="bash" enclose="div"> |
#!/bin/bash | #!/bin/bash | ||
Ligne 253 : | Ligne 257 : | ||
done | done | ||
− | </ | + | </syntaxhighlight> |
− | + | == Problèmes == | |
=== Le client léger charge le noyaux mais refuse de booter === | === Le client léger charge le noyaux mais refuse de booter === | ||
Ligne 261 : | Ligne 265 : | ||
et en boucle lors du démarrage du client léger (f2 pour cacher plymouth) | et en boucle lors du démarrage du client léger (f2 pour cacher plymouth) | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
udhcpc (v0.9.9-pre) started | udhcpc (v0.9.9-pre) started | ||
Sending discover... | Sending discover... | ||
Ligne 271 : | Ligne 276 : | ||
Sending discover... | Sending discover... | ||
... | ... | ||
+ | </syntaxhighlight> | ||
− | + | Il semblerait que ce soit un bug de la version de ltsp de ubuntu 10.04 https://bugs.launchpad.net/ubuntu/+source/ltsp/+bug/505916. Pour le résoudre : | |
− | Il | ||
* Dans /opt/ltsp/i386/usr/share/initramfs-tools/scripts/init-premount/udhcp, changer la ligne suivante: | * Dans /opt/ltsp/i386/usr/share/initramfs-tools/scripts/init-premount/udhcp, changer la ligne suivante: | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
if udhcpc -n -c "$clientid" -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param >/dev/null 2>&1; then | if udhcpc -n -c "$clientid" -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param >/dev/null 2>&1; then | ||
+ | </syntaxhighlight> | ||
par | par | ||
+ | <syntaxhighlight lang="bash" enclose="div"> | ||
if udhcpc -n -C -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param >/dev/null 2>&1; then | if udhcpc -n -C -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param >/dev/null 2>&1; then | ||
− | + | </syntaxhighlight> | |
* puis recharger la séquence de démarrage et reconstruire le noyau : | * puis recharger la séquence de démarrage et reconstruire le noyau : | ||
− | + | <syntaxhighlight lang="bash" enclose="div"> | |
+ | sudo chroot /opt/ltsp/i386 update-initramfs -u && sudo ltsp-update-kernels | ||
+ | </syntaxhighlight> | ||
− | Relancer les clients léger le problème sera | + | Relancer les clients léger le problème sera résolu |
− | + | = Sources = | |
https://help.ubuntu.com/community/UbuntuLTSP <br/> | https://help.ubuntu.com/community/UbuntuLTSP <br/> | ||
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html | http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html |
Version actuelle datée du 20 mars 2015 à 17:02
Mise en place d'un serveur ltsp avec des clients lourd. Les applications ne sont pas exécutées sur le serveurs mais sur le client. Le client charge seulement le noyau et le serveur lui envoi les applications en fonction de la demande. Le dhcp ne se trouve pas sur le serveur mais est géré par un IPCop. Les comptes clients sont en local sur le serveur et le home est montée par le réseau sur le client.
Sommaire
DELL T1600
carte réseau gigabyte de la carte mère visible par lpci mais invisible par le noyau. Affichage en 800x600.
Charger le module e1000e
wget http://sourceforge.net/projects/e1000/files/e1000e\ stable/1.9.5/e1000e-1.9.5.tar.gz
tar -xvf e1000e-1.9.5.tar.gz
cd e1000e-1.9.5/src/
sudo make install
sudo modprobe e1000e
sudo dhclient eth0 #si ne marche pas rebooter la machine
Sandy bridge chipset integré
sudo add-apt-repository ppa:glasen/intel-driver
sudo add-apt-repository ppa:kernel-ppa/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install linux-image-generic-lts-backport-natty linux-headers-generic-lts-backport-natty
LTSP
Configuration des cartes
Désactiver networkmanager pour la gestion du réseau :
sudo service network-manager stop
sudo update-rc.d -f network-manager remove
vim /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.2.149
netmask 255.255.255.0
network 192.168.2.0
Relancer /etc/init.d/networking
Installation de ltsp
sudo apt-get install ltsp-server-standalone
sudo apt-get remove dhcp3-server
Créer le fichier /var/lib/tftpboot/ltsp/i386/lts.conf
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html
[default]
SERVER = 192.168.2.149
LOCALDEV = True
SOUND = True
SYSLOG_HOST = server
XKBLAYOUT = fr
LDM_AUTOLOGIN = True
# LDM_GUESTLOGIN = True
LDM_LANGUAGE ="fr_FR.UTF-8"
[00:e0:c5:XX:XX:X1]
LDM_USERNAME = X_public_01
LDM_PASSWORD = XXXXX
[00:e0:c5:XX:XX:X2]
LDM_USERNAME = X_public_02
LDM_PASSWORD = XXXXX
[00:e0:c5:XX:XX:X3]
LDM_USERNAME = X_public_03
LDM_PASSWORD = XXXXX
[00:e0:c5:XX:XX:X4]
LDM_USERNAME = X_public_04
LDM_PASSWORD = XXXXX
[00:e0:c5:XX:XX:X5]
LDM_USERNAME = X_public_05
LDM_PASSWORD = XXXXX
[00:e0:c5:XX:XX:X6]
LDM_USERNAME = X_public_06
LDM_PASSWORD = XXXXX
Il faudra ajouter les utilisateurs sur le serveur. Leurs dossiers personnels seront ensuite montés en NFS sur les clients légers :
adduser X_public_01
adduser X_public_02
...
Création de l'image
LTSP fonctionne en créant une arborescence d'un système de fichier linux classique, stocké dans le dossier /opt/ltsp/i386/. Il se base ensuite sur ce dernier pour créer une image, au format .img, que les clients légers utiliseront pour booter via PXE :
sudo ltsp-build-client --arch i386 --locale fr_FR --fat-client
Le chroot
Pour paramétrer l'image, utiliser la commande "chroot" :
sudo chroot /opt/ltsp/i386
Avant d'effectuer des modifications dans l'image, toujours monter /proc et /sys :
mount -t proc proc /proc
mount -t sysfs sys /sys
Effectuez ensuite les modifications comme sur un système classique (Installer des paquets, paramétrer les services,...)
En quittant :
exit
sudo umount /opt/ltsp/i386/proc
sudo umount /opt/ltsp/i386/sys
Mise a jour de l'image
Après avoir effectuer les modifications dans le chroot, il faut mettre à jour l'image.
sudo ltsp-update-image i386
sudo ltsp-update-kernels #si mise a jour du kernel
Configuration de l'image
Echange de clé ssh
Dans le chroot :
apt-get install openssh-server
exit
Sur le compte qui administrera les clients, créer un coupe clé privée/clé publique demo.priv/demo.pub sans mot de passe et le mettre dans le chroot. Cela permettra notamment d'utiliser les scripts d'allumage/extinction des postes :
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> $CHROOT/root/.ssh/authorized_keys
Cela permet de pouvoir se connecter en ssh, sur le compte root, sur un client démarré. Principalement utilisé pour debugger car les utilisateurs publics ont logiquement des droits restreints :
ssh root@[ip du client]
Configuration DHCP / PXE
Il faut maintenant paramétrer le dhcp, pour qu'il dirige les clients vers le serveur au boot. Exemple pour un dhcp linux :
Dans dhcpd.conf
# Sous-reseau IP (range et options propres au subnet)
subnet 192.168.37.0 netmask 255.255.255.0 {
option domain-name-servers 192.168.37.1,192.168.1.254;
option broadcast-address 192.168.37.255;
option routers 192.168.37.254;
default-lease-time 86400; # 1 jour
max-lease-time 604800; # 7 jours
pool {range 192.168.37.100 192.168.37.200;}
if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
next-server 192.168.37.135;
option root-path "/opt/ltsp/i386";
filename "ltsp/i386/pxelinux.0";
}
}
On indique le serveur PXE avec le paramètre next-server, et le chemin de l'image avec "root-path" (qui correspond au dossier chroot) et "filename".
DD-wrt :
Dans la section service
DNSmasq:
dhcp-boot=ltsp/i386/pxelinux.0,,192.168.2.149
Éteindre les machines à distance
#!/bin/bash
Nbr=1
for i in `seq 111 116` ; do
echo "Extinction de X_Public_0$Nbr"
ssh -l -f -o StrictHostKeyChecking=no root@192.168.2.$i "halt;exit"
Nbr=`expr $Nbr + 1`
done
Lancer des scripts au démarrage des clients
Placer votre script dans le chroot
sudo chroot /opt/ltsp/i386
vim /etc/init.d/rclocal01.sh #création d'un fichier rclocal01.sh dans lequel je colle un script a lancer au démarrage
exit
Indiquer ensuite au serveur que l'on souhaite lancer se script au démarrage du client : Dans /var/lib/tftpboot/i386/lts.conf ajouter la ligne :
RCFILE_01=/etc/init.d/rclocal01.sh
Verrouiller la session
#!/bin/bash
#suppression des répertoires inutiles
rmdir ~/Documents
rm ~/examples.desktop
rmdir ~/Images
rmdir ~/Modèles
rmdir ~/Musique
rmdir ~/Public
rmdir ~/Téléchargements
rmdir ~/Vidéos
#modification de gconf
gconftool-2 --set --type string /apps/metacity/general/button_layout ":minimize,maximize,close" #déplacer les boutons des fenêtre vers la droite
gconftool-2 --set --type bool /apps/panel/global/locked_down true #verrouiller le tableau de bord
gconftool-2 --set --type string /apps/metacity/global_keybindings/panel_run_dialog "disabled" #desactiver alt + F2
gconftool-2 --set --type string /apps/metacity/global_keybindings/run_command_terminal "disabled" #desactiver raccourci clavier du terminal
gconftool-2 --set --type int /apps/metacity/general/num_workspaces 1 #limiter les espaces de travail à 1
gconftool-2 --set --type bool /apps/gnome-screensaver/lock_enabled false #desactiver le verrouillage de l'ecran
gconftool-2 --set --type bool /apps/gnome-screensaver/idle_activation_enabled false
gconftool-2 --set --type bool /desktop/gnome/interface/menus_have_icons true #icones dans les menus
gconftool-2 --set --type bool /desktop/gnome/interface/buttons_have_icons true
gconftool-2 --set --type bool /desktop/gnome/lockdown/disable_lock_screen true
gconftool-2 --set --type string /desktop/gnome/background/picture_filename "/home/$USER/.wallpaper/wallpaper.jpg"
gconftool-2 --set --type int /apps/gnome-power-manager/timeout/sleep_display_ac 0
Acceder au Bureau des clients léger depuis le compte admin
Executer le script depuis un compte administrateur de la Machine
#!/bin/bash
for i in `seq -w 01 10`; do
sudo chmod 777 /home/X_public_$i/Bureau
sudo ln -s /home/X_public_$i/Bureau /home/ADMIN/Bureau/Bureau\ clients/X_public_$i
sudo mkdir /home/X_public_$i/.wallpaper
sudo rm /home/X_public_$i/Bureau/Bureau
done
Problèmes
Le client léger charge le noyaux mais refuse de booter
Dans les log de pfsense ceci :
dhcp: Dropped DHCPv4 packet with zero-length client-id
et en boucle lors du démarrage du client léger (f2 pour cacher plymouth)
udhcpc (v0.9.9-pre) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing.
sleepnow
udhcpc (v0.9.9-pre) started
Sending discover...
Sending discover...
...
Il semblerait que ce soit un bug de la version de ltsp de ubuntu 10.04 https://bugs.launchpad.net/ubuntu/+source/ltsp/+bug/505916. Pour le résoudre :
- Dans /opt/ltsp/i386/usr/share/initramfs-tools/scripts/init-premount/udhcp, changer la ligne suivante:
if udhcpc -n -c "$clientid" -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param >/dev/null 2>&1; then
par
if udhcpc -n -C -s /tmp/dhcp-script.sh -i $i $hostname_param $ip_param >/dev/null 2>&1; then
- puis recharger la séquence de démarrage et reconstruire le noyau :
sudo chroot /opt/ltsp/i386 update-initramfs -u && sudo ltsp-update-kernels
Relancer les clients léger le problème sera résolu
Sources
https://help.ubuntu.com/community/UbuntuLTSP
http://manpages.ubuntu.com/manpages/lucid/man5/lts.conf.5.html