================ Laboratori ================ :Author: Andrea Manni :Copyright: GFDL :Version: 1.0 .. sectnum:: .. contents:: Indice degli argomenti .. |date| date:: Generata il |date|, 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. 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 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 . .. HINT:: Sparare anche la propria principale per entrare comunque, e dare la nuova come disponibile al gestore. Delete a specific key ----------------------- Delete :: ssh-keygen -R hostname SSH per root su ubuntu -------------------------- /etc/ssh/sshd_config :: #PermitRootLogin without-password PermitRootLogin yes /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 .. NOTE: Si dovrebbe poter entrare con chiave SSH sia come utente@ che con root@ , per lo meno il login con root dovrebbe essere abilitato anche se non ci sono le chiavi. Ricerca IP attivi ------------------ Per vedere quali IP sono online:: nmap -sP 192.168.15.230-250 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 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. xvnc4server ~~~~~~~~~~~~~~~~ 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 Remote clients ================= Per lanciare applicazioni grafiche sui desktop remoti :: su user-xorg-owner export DISPLAY=:0.0 xcalc & __ HINT: Preparare qualche script per lanciare le VNC-client sulle macchine se non attive, killare le vnc per aggiornare la dimensione dello schermo 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`` 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. 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 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: * http://ftp.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/ * http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/ - Link per fare un menu di boot multi OS: https://www.debian-administration.org/article/478/Setting_up_a_server_for_PXE_network_booting Ottimizzazioni ubuntu ========================= Disabilita file indexing per utente:: kwriteconfig --file baloofilerc --group 'Basic Settings' --key 'Indexing-Enabled' false Software da installare ------------------------ SW :: krita fritzing Scripts per i client ======================= TODO - guarda e killa VNC - aggiorna / ripristina la cartella degli sketch di esempio - eject , wait ,eject -t Arduino IDE ============== I temi per i colori sono in: /usr/share/arduino/lib/theme 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 Quesry per una sessione remota manuale ---------------------------------------- :: X :1 -query hostname 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). - S4L: http://s4a.cat/ http://s4a.cat/ 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 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/ .. Note:: 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. 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`` . 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 .. note:: Questa procedura non funziona con Ubuntu Thrusty. 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`` . 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