Ressortir un vieux PC du grenier
Par jp.fox le mercredi 3 mai 2006, 13:22
Ubuntu
::
Lien permanent
Si vous trempez depuis plusieurs années dans le monde de l'informatique, il y a de grandes chances que vous ayez un vieux PC qui traîne au grenier, au garage ou dans un placard...
Je vous propose d'offrir une deuxième vie à cette machine pour peu quelle ait des caractèristiques qui restent modestes.
Si tout se passe bien vous aurez une nouvelle machine qui fonctionne aussi bien que votre PC principal !
Caractéristiques requises
- Un processeur 486 ou plus !
- Un lecteur de CD bootable
- Une carte video quelconque et son écran
- Une carte réseau
- Un clavier et une souris
- Un lecteur de disquette (optionnel)
L'objectif est de connecter ce vieux PC par le réseau à votre PC principal en tant que simple terminal X en mode XDMCP. C'est-à-dire que les programmes de ce PC vont être exécutés sur le PC principal et uniquement l'affichage sera déporté. Cela n'empêchera pas une utilisation normale du PC principal par un autre utilisateur.
Etape 1 : Mise en réseau
Si vous disposez déjà d'un réseau, un raccordement du vieux PC à votre HUB, switch ou routeur fera l'affaire. Si vous n'avez pas de réseau, reliez simplement les cartes ethernet de vos deux machines à l'aide d'un cable croisée. Pour plus d'information sur la configuration d'un réseau local, voir le wiki
Afin de simplifier les explications qui suivent, nous allons considérer que le réseau local est le suivant

Etape 2 : Paramétrage du pcprincipal sous Ubuntu
Activation de XDMCP
Sous Breezy : Dans le menu Système > administration > configuration de l'écran de connexion > Onglet Sécurité, cochez Activer XDMCP
Sous Dapper et Edgy :
Sans le menu Système > administration > fenêtre de connexion > Onglet Distante > Style identique à la locale
Puis éditez le fichier /etc/X11/gdm/gdm.conf pour supprimer le # devant la ligne Enable=true dans le paragraphe [xdmcp]
$ sudo gedit /etc/X11/gdm/gdm.conf ... [xdmcp] ... Enable=true ...
Installation d'un serveur de polices
$ sudo apt-get install xfs
$ sudo gedit /etc/X11/fs/config
mettre un # devant la ligne "no-listen = tcp" et enregistrez le fichier
$ sudo /etc/init.d/xfs restart
Redémarrage de GDM
Fermer toutes vos applications, déconnectez votre session et appuyez sur les touches Alt+Ctrl+F1
Identifiez vous dans ce mode terminal et lancez la commande :
$ sudo /etc/init.d/gdm restart
Autorisation de connexion réseau
Si vous utilisez le fichier /etc/hosts.allow pour la sécurité de votre machine, il faut y ajouter la ligne suivante avec l'adresse du vieuxpc :
ALL: 192.168.10.3
Si vous utilisez FireStarter, il faudra y ajouter l'autorisation pour les ports 177/UDP, 7100/TCP et 6000/TCP en provenance du vieuxpc
Etape 3 : Téléchargement de Thinstation
Téléchargez le fichier Thinstation-2.1.1-prebuilt-LiveCD.zip ou une version plus récente. Dézippez ce fichier dans un dossier temporaire que nous nommerons ~/thinclient/
Thinstation est une distribution Linux qui a pour objectif de transformer n'importe quel PC en client léger pour différent type de serveur :
- Windows Terminal Services (RDP)
- Citrix ICA
- TightVNC
- SSH
- Telnet
- Tarantella
- X-Terminal (XDM)
C'est ce dernier qui nous intéresse.
Etape 4 : Préparation du CD bootable
Assemblage des éléments du cd de boot
$ cd ~/thinclient/RebuildIsoWithConf/ $ mkdir isotmp $ sudo mount -t iso9660 -o loop ../Cd/thinstation.iso isotmp/ $ rm cd-files/delme.txt $ cp isotmp/* cd-files/ $ sudo umount isotmp $ mkdir cd-files/thinstation.profile $ cp ../Floppy/thinstation.profile/thinstation.conf.user cd-files/thinstation.profile/
Etape 5 : Paramétrage de Thinstation
Editez le fichier ~/thinclient/RebuildIsoWithConf/cd-files/thinstation.profile/thinstation.conf.user C'est dans celui-ci que nous allons paramétrer notre image ISO en fonction de notre réseau et de notre vieuxpc.
Voici le contenu du fichier que j'ai utilisé, adaptez le en fonction de votre réseau et de votre vieuxpc :
# --- Network configuration # Give a different name to each PC NET_HOSTNAME=vieuxpc # If you want to use a DHCP server, comment out these params: NET_USE_DHCP=Off NET_IP_ADDRESS=192.168.10.3 NET_MASK=255.255.255.0 NET_GATEWAY=192.168.10.2 # If you only have one session, it is a good idea to uncomment this line: AUTOSTART=On #SESSION_0 available with Alt+Ctrl+F3 SESSION_0_TITLE="Connexion a Ubuntu" SESSION_0_TYPE=x SESSION_0_X_SERVER=192.168.10.2 AUDIO_LEVEL=67 # Look inside BuildFiles\build.conf* file for a list of the supported KB layouts KEYBOARD_MAP=fr TIME_ZONE="UTC+1:00" RECONNECT_PROMPT=On # --- X Server Options # SCREEN_RESOLUTION Screen resolutions available in the workstations # SCREEN_COLOR_DEPTH Number of bits per pixel (8,16,24) # SCREEN_HORIZSYNC Monitor horizontal sync frequency in Khz. # If left blank Xorg will try to detect with DDC # SCREEN_VERTREFRESH Monitor vertical refresh frecuency in Hz. # If left blank Xorg will try to detect with DDC # SCREEN_X_FONT_SERVER IP address or hostname of the font server for X # # Screen Saver Settings # SCREEN_BLANK_TIME Minutes to X session goes blank # SCREEN_STANDBY_TIME Minutes to X session goes into standby mode # SCREEN_SUSPEND_TIME Minutes to X session goes into suspend mode # SCREEN_OFF_TIME Minutes to X session turn off # # MOUSE_PROTOCOL Mouse protocol type (Microsoft, PS/2, etc.) # (mouse is autodetected, use this only if it fails) # MOUSE_DEVICE Mouse device: /dev/ttyS0 -> COM1 # /dev/ttyS1 -> COM2 # /dev/ttyS2 -> COM3 # /dev/ttyS3 -> COM4 # /dev/psaux -> PS/2 mouse port # /dev/input/mice -> USB mouse (needs USB package) # MOUSE_RESOLUTION Mouse resolution # X_NUMLOCK Set numlock state on boot #SCREEN_RESOLUTION="800x600" SCREEN_RESOLUTION="1024x768" SCREEN_COLOR_DEPTH="16" SCREEN_HORIZSYNC="30-64" SCREEN_VERTREFRESH="56-87" SCREEN_X_FONT_SERVER=192.168.10.2:7100 SCREEN_BLANK_TIME=10 SCREEN_STANDBY_TIME=20 SCREEN_SUSPEND_TIME=30 SCREEN_OFF_TIME=60 #MOUSE_PROTOCOL=PS/2 #MOUSE_DEVICE=/dev/psaux MOUSE_RESOLUTION=100 X_NUMLOCK=On
Etape 6 : Création du CD de boot
Construction de la nouvelle image ISO
$ chmod +w cd-files/boot.cat && rm cd-files/boot.cat
$ chmod +w cd-files/isolinux.bin
$ mkisofs -o vieuxpc.iso -b isolinux.bin -c boot.cat -joliet -no-emul-boot -boot-load-size 4 -boot-info-table cd-files
Warning: creating filesystem with (nonstandard) Joliet extensions
but without (standard) Rock Ridge extensions.
It is highly recommended to add Rock Ridge
INFO: UTF-8 character encoding detected by locale settings.
Assuming UTF-8 encoded filenames on source filesystem,
use -input-charset to override.
Using THINS000.USE;1 for cd-files/thinstation.profile/thinstation.conf.user~ (thinstation.conf.user)
Size of boot image is 4 sectors -> No emulation
Total translation table size: 2048
Total rockridge attributes bytes: 0
Total directory bytes: 2048
Path table size(bytes): 30
Max brk space used 21000
4381 extents written (8 MB)
Gravure du CD de boot
A l'aide de votre logiciel de gravure préféré, créez un cd bootable à partir de l'image ~/thinclient/RebuildIsoWithConf/vieuxpc.iso
Ou tout simplement en faisant un clic droit sur ce fichier depuis Nautilus puis "Graver un CD..."
Etape 7 : Démarrage du vieuxpc
Démarrer le vieuxpc et assurez vous dans les options du BIOS qu'il bootera bien sur le CD.
Insérez le CD fraîchement gravé et vous devriez arrivez directement sur l'écran de login Ubuntu !
Prenez garde à ne pas utiliser simultanément sur le pcprincipal et sur le vieuxpc le même compte utilisateur, vous pourriez vérrouiller des fichiers.
Si le vieuxpc ne démarre pas correctement, vous pouvez retourner à l'étape 5 et corriger le fichier de configuration.
Pour information, il est possible de se connecter à une console linux sur le vieuxpc lorsqu'il a démarré à l'aide des touches Alt+Ctrl+F2 avec le login 'root' et le mot de passe 'pleasechangeme' !
Rebasculez sur Ubuntu avec Alt+Ctrl+F3
Bon recyclage.
D'après une bonne idée de Tao sur le forum Ubuntu-fr.org




Très bon article, vraiment... Je risque le mettre en pratique chez mes parents pour éviter de les voir se battre pour avoir accès à l'unique ordinateur de la maison
NiKo)
Il y a juste le titre, cependant... "Ressortir un vieux PC du grenier", ça fait trop genre "Prendre un café" : attention à ne pas tomber dans le vracage à tout va : (
C'est vrai que le titre du billet est pas tip top... mais j'avais pas vraiment d'idée
Et puis "Installer un serveur X sur un vieux PC pour le connecter à un serveur Ubuntu en XDMCP" aurait peut-être fait un peu peur ? lol
Donne de bonnes idées cet article. Merci bcp.
On va pas débattre du titre mais dans le concret c'est bien de cela qu'il s'agit non ? Même si dans mon cas il est question de la cave !
Exellent cet article ! il devrai se trouver aussi dans la doc de ubuntu-fr
Bonjour,
Je viens d'arriver à mettre en oeuvre ce tuto dans la config suivante :
PC neuf = XP dans lequel j'ai ouvert un linux virtuel avec VMWARE (browser appliance). C'est ce linux virtuel qui est mon serveur d'applications. Dans mon cas, ça permet que mes gosses puissent continuer à utiliser XP sur le PC neuf. Je pense que j'ai un cloisonnement correct au niveau sécurité entre XP et linux. Pas d'excitation : je peux juste lancer très vite firefox et surfer plus vite sur le vieux PC. Mais si j'essaie de visualiser une video sur un site WEB, ça fait ramer le PC neuf et ça fait hurler la jeunesse.
Bonsoir,
Enfin, j'ai réussi à améliorer mon affichage et je conseille à tous les possesseurs de vieux PC pourris de le faire : dans le tuto, à l'étape 5, qui consiste à adapter le fichier "thinstation.conf.user", j'avais recopié bien bêtement ce qui était proposé. Résultat : j'avais un affichage décalé et j'étais obligé de le rectifier à chaque fois que je me connectais.
Aujourd'hui, j'ai remplacé la ligne
SCREEN_RESOLUTION="1024x768"
par
SCREEN_RESOLUTION="640x480"
Et c'est parfait
Ce qui serait divin pour moi, ce serait trouver en plus comment rediriger le son sur les enceintes du poste client, mais déjà merci beaucoup pour ce petit tuto.
Pour moi, le son fonctionne... sauf pour certaines applications qui utilisent directement la carte son.
Dans le cas où on n'utilise pas Thinclient mais une autre technique, il peut être nécessaire dans lancer (depuis une console sur le poste client) l'application "esd -tcp -public &" avant la connexion XDMCP. Il parait que ce n'est pas très sécurisé mais sur un réseau local ça ne gène pas forcément.
Je vais encore tenter de suivre ce tuto car j'ai eu quelques problèmes en faisant des tests avec un VMWare comme "vieux pc".
Je vais placer un vrai vieux pc.
Par contre, je souhaiterais supprimer le lecteur de cd du vieux pc.
Y aurait-il moyen de placer ThinStation sur une carte flash connectée au port IDE ? (en gros sur un disque dur) ?
cEd
Honte sur moi :
thinstation.sourceforge.n...
Meme pas vu ce lien hier !
cEd
bonsoir à tous,
pour le débutant que je suis en linux, j'ai réussi à démarrer ma session depuis le vieux pc presque du premier coup, signe que le tuto est de qualité !
Cependant j'ai un soucis : je n'ai plus rien sur le pc serveur....c'est à dire un écran noir avec uniquement l'icone rond "qui tourne".
pire, même quand je démarre tout seul le pc "serveur" c'est à dire sans le vieux pc démarré, c'est la même chose, je n'ai plus l'écran de bienvenue. je suis un peu coincé. si quelqu'un a une idée...
merci
ph
Malheureusement, je ne vois pas vraiment ce qui peux interagir avec l'affichage du pc principal

Peut être une fausse manip dans le fichier /etc/X11/gdm/gdm.conf
Eventuellement, cette commande t'en dirant peut-être un peu plus :
$ sudo cat /var/log/gdm/\:0.log
Sinon, je te conseille d'ouvrir une discussion sur le forum.ubuntu-fr.org là tu auras l'avis de plusieurs experts