1   Laboratori

Author:Andrea Manni
Copyright:GFDL
Version:1.0

Generata il 2017-03-22, sono disponibili versioni in HTML, PDF, OpenOffice e testo semplice. Il sito di rifermento per questa guide e altre analoghe e’ http://doc.andreamanni.com

Chi volesse segnalare errori, suggerimenti o modifiche puo’ contattare per email andrea at piffa punto net.

1.1   SSH

Generare una chiave particolare:

ssh-keygen -f nome-chiave
ssh-copy-id -i path/nome-chiave user@hosts
ssh -i path/nome-chiave user@hosts

1.1.1   ClusterSSH

Passare un flag a ssh con -o ‘opzioni’ (tra apici):

clusterssh -o '-i path/nome-chiave' user@hosts

Ora eject dovrebbe poter chiudere i tray col flag -t .

Consiglio

Sparare anche la propria principale per entrare comunque, e dare la nuova come disponibile al gestore.

1.1.2   Delete a specific key

Delete

ssh-keygen -R hostname

1.1.3   SSH per root su ubuntu

/etc/ssh/sshd_config

#PermitRootLogin without-password
PermitRootLogin yes

1.1.4   /etc/clusters per Nelson

La definizione del cluster Nelson per /etc/clusters

lab  192.168.22.31 192.168.22.32  192.168.22.33  192.168.22.34  192.168.22.35  192.168.22.36  192.168.22.37  192.168.22.38  192.168.22.39  192.168.22.40  192.168.22.41  192.168.22.42  192.168.22.43  192.168.22.44  192.168.22.45

1.1.5   Ricerca IP attivi

Per vedere quali IP sono online:

nmap -sP 192.168.15.230-250

1.1.6   MAC nel DHCP

Mac Adress:

# Nelson Barchetta

dhcp-host=b8:97:5a:0c:06:cd,trentauno,192.168.22.31
dhcp-host=b8:97:5a:0c:10:8a,trentadue,192.168.22.32
dhcp-host=b8:97:5a:0c:0d:34,trentatre,192.168.22.33
dhcp-host=b8:97:5a:0c:08:3c,trentaquattro,192.168.22.34
dhcp-host=b8:97:5a:0c:04:8e,trentacinque,192.168.22.35
dhcp-host=00:1d:7d:3b:cd:35,trentasei,192.168.22.36
dhcp-host=00:1d:7d:3c:7b:54,trentasette,192.168.22.37
dhcp-host=b8:97:5a:0c:14:ae,trentaotto,192.168.22.38
dhcp-host=b8:97:5a:0c:04:15,trentanove,192.168.22.39
dhcp-host=00:1f:c6:58:5d:86,quaranta,192.168.22.40
dhcp-host=b8:97:5a:0c:0c:e7,quarantauno,192.168.22.41
dhcp-host=b8:97:5a:0c:04:20,quarantadue,192.168.22.42
#dhcp-host=b8:97:5a:0c:04:20,quarantatre,192.168.22.43
dhcp-host=00:13:d3:ae:62:4b,quarantaquattro,192.168.22.44
dhcp-host=00:13:8f:b9:23:27,quarantacinque,192.168.22.45
#dhcp-host=00:13:d3:ae:94:4d,quarantasei,192.168.22.46
#dhcp-host=00:13:d3:ae:94:4c,quarantasette,192.168.22.47
#dhcp-host=00:13:d3:64:35:17,quarantaotto,192.168.22.48
#  00:1e:33:1f:2f:0b portatile time cablato di Andrea
dhcp-host=00:1e:33:1f:2f:0b,time,192.168.22.50
#  00:1e:33:1f:2f:0b portatile time wifi di Andrea
dhcp-host=00:22:fb:72:52:ee,192.168.22.51
# b8:27:eb:22:06:09 rPI Andrea
dhcp-host=b8:27:eb:22:06:09,192.168.22.52
# 253 is wifi access

1.2   VNC

guarda.sh

xtightvncviewer -viewonly -p /usr/share/vncpasswd time:1
xtightvncviewer -viewonly -p /usr/share/vncpasswd time

pulisci (da root):

rm /tmp/.X11-unix/X1 /tmp/.X1-lock

start_server (da utente della vnc):

tightvncserver -geometry 800x600 -depth 16 :1

kill server, dall’utente che lo ha lanciato:

tightvncserver -kill :1

Generare la password con vncpasswd.

XtightVNC xembra crashare con i widjets di Java, xvnc4server invece funziona e si sovrappone alle configurazioni di Xtight. Lavora sempre nella dir ~/.vnc . Come client puo’ usare xtightvncviewer con le stesse opzioni per le password per il viewonly. Per lanciare un sessione

vnc4server -geometry 600x768
vnc4server -geometry 600x768
vnc4server -geometry 1366x768
vnc4server -geometry 683x768

1.3   Remote clients

Per lanciare applicazioni grafiche sui desktop remoti

su user-xorg-owner
export DISPLAY=:0.0

xcalc &

1.3.1   RPI come client VNC

Per trovare rPI da DHCP il MAC e’: b8:27:eb:22:06:09, IP dovrebbe essere 192.168.15.251 . Lanciare xinit & e xtightvncviewer -fullscreen time

1.4   KRFB

Ultimamente xtight crasha continuamente, si puo’ esportare l’intera sessione desktop in corso direttamente da KDE con krfb . Avviare il programma e impostare una password come quella del file vncpasswd per i view-only, al momento dell’accettazione della connessione si puo’ negare la scrittura.

Il problema e’ che lo script di lancio e’ un po’ diverso: tightvncviewer -viewonly -p /usr/share/vncpasswd time . Non prende il suffisso del numero del desktop es. :1 . Quindi bisogna fare un’altro script.

guarda.sh

xtightvncviewer -viewonly -p /usr/share/vncpasswd time:1
xtightvncviewer -viewonly -p /usr/share/vncpasswd time

Se uno dei due fallische non pregiudica l’altro.

Nella finestra di KRFB abilitare Unattended Access per la password view-oly cosi’ non ci sara’ il prompt per l’accesso.

1.4.1   Screen size

xrandr -q
visualizzare gli screen mode disponibili
xrandr -s 800×600
cambiare mode
xrandr -s 0
reset screen to original size

Per modificare al volo la risoluzione (mode) del server xorg:

# La prima modeline si ottiene con cvt:  cvt 800 768

xrandr --newmode "800x768_60.00"   49.75  800 840 920 1040  768 771 781 798 -hsync +vsync
xrandr --addmode LVDS1 "800x768_60.00"
xrandr --output LVDS1 --mode "800x768_60.00

1.5   PXE boot server

Dnsmasq puo’ fare da DHCP + PXE server, TFTP incluso.

/etc/dnsmasq.conf

# Standard Debian-like boot
dhcp-boot=pxelinux.0,chrome,192.168.0.254
enable-tftp
tftp-root=/var/lib/tftpboot

Il path /var/lib/tftpboot contiene la gerarchia del server TFTP: ad es un netboot.tar.gz da:

1.6   Ottimizzazioni ubuntu

Disabilita file indexing per utente:

kwriteconfig --file baloofilerc --group 'Basic Settings' --key 'Indexing-Enabled' false

1.7   Scripts per i client

TODO

  • guarda e killa VNC
  • aggiorna / ripristina la cartella degli sketch di esempio
  • eject , wait ,eject -t

1.8   Arduino IDE

I temi per i colori sono in: /usr/share/arduino/lib/theme

1.9   XDMCP

Prima di tutto Unity di ubuntu non lavora piu’ con XDMCP.

Per cercare comunque di permettere accesso al server X da altri host

[SeatDefaults]
xserver-allow-tcp=true
xserver-share=true
xdmcp-port=177
greeter-show-remote-login=true

[XDMCPServer]
enabled=true
port=177

In caso contrario con KDM:

/etc/kde4/kdm/kdmrc

[Xdmcp]
# Whether KDM should listen to incoming XDMCP requests.
# Default is true
Enable=true

...

LoginMode=DefaultRemote

ChooserHosts=*,host1,host2,host3.local,login.domain.com

/etc/kde4/kdm/Xaccess

*                                       #any host can get a login window

1.10   Scratch for Arduino

S4L e’ un applicativo a 32bit, la cosa crea qualche complicazione sulle macchine a 64bit che necessitano o il supporto per le librerie a 32bit (ia32-libs su ubuntu e sistemi vecchi) o il supporto per multiarch (Debian Jessie).

Da scaricare e installare con:
dpkg -i S4A16.deb apt-get install -f

Per verificare se la vostra macchina e’ a 32 o 64bit:

file /bin/ls

1.10.1   Releases recenti di Linux

Cercare di installare S4a su release recenti (2016) di linux e’ ormai una follia dato che il software non viene aggiornato da anni. La soluzione migliore e’ fare un container i386 e far girare S4a in esso senza contaminare l’host principale:

debootstrap  --arch i386  stable stable
mount -o bind /dev/ stable/dev

chroot stable
apt-get install squeak-vm libpulse-dev
dpkg -i S4A16.deb
apt-get install -f

# per X:
export DISPLAY=:0.0

# Sull'host per accettare connessioni a X:
xhost +

s4a

# Per automatizzare l'avvio si puo usare schroot:
https://wiki.debian.org/Schroot

Per un container gia’ fatto vedi: http://zap.piffa.net/store/s4a_container/

Nota

S4A si perde facilmente la connessione con la scheda, nel caso provare prima a caricare nuovamente lo sketch oppure chiudere l’applicativo e riavviarlo e dovrebbe trovare la scheda.

1.10.2   Ubuntu

Le macchine 32bit dovrebberop funzionare senza ulteriori interventi, con le 64bit bisogna installare le ia32bit:

Per le macchine ubuntu a 64bit (file /bin/ls) bisogna aggiungere alle sources.list: deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse e installare le apt-get install ia32-libs .

1.10.3   Debian Jessie

Su Jessie tramite il supporto multiarch non e’ necessario installare le ia32-lib che per altro non sono piu’ disponibili per Jessie. Ora basta abilitare il supporto multiarch per i386 e dopo aver installato S4l installare il pacchetto squeak-vm:

dpkg --add-architecture i386
apt-get update
apt-get install squeak-vm
dpkg -i S4A16.deb
apt-get install -f

Nota

Questa procedura non funziona con Ubuntu Thrusty.

1.10.4   Debian Sid

In alcune installazioni Sid non riesce a lanciare s4a lasciando l’errore: could not find module vm-sound-pulse . Il problema e’ risolvibile con l’installazione del pacchetto apt-get install libpulse-dev:i386 .

1.10.5   Ubuntu 16.04

Richiede inoltre:

  • apt-get install libsm6:i386

Link: http://blog.elcacharreo.com/2014/07/10/usar-s4a-scratch-for-arduino-en-ubuntu-linux-de-64-bits/

Note:

dpkg-deb -R S4A16.deb ./sources
modificare /usr/bin/scratch in modo che IMAGE tiri a qullo di scratch /usr/local/s4a/source/usr/lib/s4a/S4A.image