×
Bienvenue sur le nouveau serveur de l'Aru2L (17 Nov 2012)

Nous voila en phase beta suite à une refonte totale du site de l'aru2L, n'hésitez pas à faire remonter les Bugs que vous pouvez trouver sur contact(@)aru2l.org (enlever les parenthèses) ou en créant un post sur le forum.
Nous vous prions de bien vouloir nous excusez pour la gène occasionnée.

Topic-icon [all] Connexion à un serveur X distant

  • _chill
  • Portrait de _chill Auteur du sujet
  • Visiteur
  • Visiteur
il y a 10 ans 1 mois - il y a 10 ans 1 mois #1983 par _chill
_chill a créé le sujet : [all] Connexion à un serveur X distant
http://people.piconsortium.mine.nu/~chill/pub/docs/have_fun_without_power.txt

#
# $PIConsortium: have_fun_without_power.txt, v0.4 2008/09/04 11:43:21 chill Exp $
#

# entendons-nous bien :
-- le réseau avec openbsd ! oui ! mais comment ?
www.openbsd.org/faq/fr/faq6.html
-- comment configurer X ?
www.openbsd.org/faq/fr/faq11.html
-- quel protocole ?
fr.wikipedia.org/wiki/Technologie_NX
-- why ?
www.mille-xterm.org/fr/Solutions_d%27implantation_de_terminaux
!! cette solution suppose l'existence d'un système de résolution de noms,
!! préconfiguré pour accueillir les nouveaux clients (xterm1 / xterm2 / ... )

# environnement :

-- un serveur de services réseaux @gateway
. OpenBSD 4.3 amd64
. 10.0.0.1 | fe80:0:0:0:0:0:a00:1
-- un serveur d'application @terminal
. OpenBSD 4.3 sparc64
. 10.0.0.5 | fe80:0:0:0:0:0:a00:5
-- x clients 'diskless' @xtermn pour (x,n) compris entre [1;+inf[ :-)
. OpenBSD 4.3 i386
. 10.0.1. | fe80:0:0:0:0:0:a00:100

# comment_faire :

@gateway :
\ configurer /etc/dhcpd.conf

subnet 10.0.1.0 netmask 255.255.255.0 {
option routers 10.0.0.1;
filename "pxeboot";
range 10.0.1.1 10.0.1.50;

host xterm1 {
hardware ethernet xxx;
fixed-address x.x.x.x;
option host-name "xterm1";
}

host xterm2 {
[...]
}
}

\ lancer tftpd avec /etc/inetd.conf

tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /var/datas/tftpboot

\ lancer les services avec /etc/rc.conf.local

dhcpd_flags=""
rarpd_flags="-a"
bootparamd_flags=""
nfsd_flags="-tun 4
nfs_server=YES
portmap=YES

\ fichiers /var/datas/tftpboot

bsd (le noyau de boot) [ ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.3/i386/bsd ]
etc/boot.conf
pxeboot [ ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.3/i386/pxeboot ]

\ accès pxeboot avec /etc/ethers

macaddress xterm1
macaddress xterm2
[...]

\ 'montage' du système de fichier client avec /etc/bootparams

xterm1 root=10.0.0.1:/var/datas/openbsd_diskless/root swap=10.0.0.1:/var/datas/openbsd_diskless/swap
xterm2 root=10.0.0.1:/var/datas/openbsd_diskless/root swap=10.0.0.1:/var/datas/openbsd_diskless/swap
[...]

\ indiquer à nfsd le dossier à partager avec /etc/exports

/var/datas/openbsd_diskless -maproot=root -alldirs -network=10.0.1 -mask=255.255.255.0

\ fichiers racines /var/datas/openbsd_diskless

$ mkdir -p /var/datas/openbsd_diskless/root
$ dd if=/dev/zero bs=1m count=XXX of=/export/diskless/swap # XXX = la taille en Mo du swap souhaité
$ tar -xvzpf base43.tgz -C /var/datas/openbsd_diskless/root # [ ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.3/i386/base43.tgz ]
$ tar -xvzpf etc43.tgz -C /var/datas/openbsd_diskless/root # [ ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.3/i386/etc43.tgz ]
$ cd /var/datas/openbsd_diskless/root/dev
$ ./MAKEDEV all

\ fichier fstab du système /var/datas/openbsd_diskless/root/etc/fstab

10.0.0.1:/var/datas/openbsd_diskless/root / nfs rw 0 0
10.0.0.1:/var/datas/openbsd_diskless/swap none swap sw

\ pour démarrer X lors du boot /var/datas/openbsd_diskless/root/etc/rc.local

if [ -x /usr/X11R6/bin/X ]; then
/usr/X11R6/bin/X -query terminal.domain.tld
echo " X\n"
fi

@terminal :
\ ajouter les utilisateurs

$ groupadd -g 1000 xterms
$ useradd -g xterms -u xxxx -m -s /path/to/shell -G groupes_supplementaires nomuser
$ passwd user

\ session graphique des utilisateurs

$ echo "/path/to/wm" > /home/nomuser/.xsession

\ lancer xdm au boot avec /etc/rc.conf.local

portmap=YES
xdm_flags=""

\ configurer xdm avec /etc/X11/xdm/xdm-config

DisplayManager.errorLogFile: /var/log/xdm.log
DisplayManager.pidFile: /var/run/xdm.pid
DisplayManager.keyFile: /etc/X11/xdm/xdm-keys
DisplayManager.servers: /etc/X11/xdm/Xservers
DisplayManager.accessFile: /etc/X11/xdm/Xaccess
DisplayManager*resources: /etc/X11/xdm/Xresources
DisplayManager.willing: su -m nobody -c /etc/X11/xdm/Xwilling
! All displays should use authorization, but we cannot be sure
! X terminals may not be configured that way, so they will require
! individual resource settings.
DisplayManager*authorize: true
!
DisplayManager*chooser: /etc/X11/xdm/chooser
DisplayManager*startup: /etc/X11/xdm/Xstartup
DisplayManager*session: /etc/X11/xdm/Xsession
DisplayManager*reset: /etc/X11/xdm/Xreset
DisplayManager*authComplain: true
! The following three resources set up display :0 as the console.
DisplayManager._0.setup: /etc/X11/xdm/Xsetup_0
DisplayManager._0.startup: /etc/X11/xdm/GiveConsole
DisplayManager._0.reset: /etc/X11/xdm/TakeConsole

DisplayManager._0.authName: MIT-MAGIC-COOKIE-1


DisplayManager*loginmoveInterval: 10

!
! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
! DisplayManager.requestPort: 0

\ idem avec Xaccess

*
* CHOOSER BROADCAST

\ idem avec Xservers (commentez les lignes)

#:0 local /usr/X11R6/bin/X :0 vt05

@xtermn :
\ créer la disquette de boot du client

$ wget etherboot.anadex.de/eb_on_hd.ima
$ dd if=eb_on_hd.ima of=/dev/fd0
Dernière édition: il y a 10 ans 1 mois par _chill.

Connexion pour participer à la conversation.

Temps de génération de la page : 0.169 secondes