[all] Connexion à un serveur X distant
- _chill
-
Auteur du sujet
- Visiteur
-
il y a 15 ans 3 semaines - il y a 15 ans 3 semaines #1983
par _chill
[all] Connexion à un serveur X distant a été créé par _chill
people.piconsortium.mine.nu/~chill/pub/d...un_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
#
# $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 15 ans 3 semaines par _chill.
Connexion pour participer à la conversation.
Temps de génération de la page : 0.117 secondes