Inhaltsverzeichnis

VNC

Server (FreeBSD 10)

net/tightvnc

den VNC-Server installieren:

> pkg install net/tightvnc

ohne X kann man den aber nicht benutzen:

> pkg install x11/xterm x11-wm/icewm x11/xorg x11/xorg-apps x11/xorg-cf-files x11-servers/xorg-dmx x11-drivers/xorg-drivers x11-fonts/xorg-fonts x11-fonts/xorg-fonts-100dpi x11-fonts/xorg-fonts-75dpi x11-fonts/xorg-fonts-miscbitmaps x11-fonts/xorg-fonts-truetype x11-fonts/xorg-fonts-type1 x11/xorg-libraries x11/xorg-minimal x11-servers/xorg-nestserver x11-servers/xorg-server
> echo "/usr/local/bin/icewm-session" > .xinitrc

X konfigurieren:

> Xorg -configure

die X-CFG nach den eigenen Vorstellungen bearbeiten:

> vi xorg.conf.new

X testweise starten:

> X -config xorg.conf.new

wenn es geht, dann ordentlich ablegen:

> cp xorg.conf.new /usr/local/etc/X11/xorg.conf

Das Passwort für den VNC-Server setzen, das Passwort darf nicht länger als 8 Zeichen sein:

> vncpasswd 
Password:
Verify:

net/vnc

Installation

erstmal installieren:

# portupgrade -NROD x11-servers/xorg-server x11/xterm net/vnc

Vorbereitung

auf dem Rechner einloggen:

# ssh -X fritz@rechner

vorbereiten:

# echo "/usr/bin/icewm-session" > .xinitrc

Das Passwort für den VNC-Server setzen, das Passwort darf nicht länger als 8 Zeichen sein:

# vncpasswd 
  Password:
  Verify:

VNC-Start-Script konfigurieren:

# vi .vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
icewm &

Hier kann man einen WindowManager seiner Wahl eintragen. Ich bin minimalistisch eingestellt und habe den WindowManager "twm" einfach deaktiviert, so startet dann nur der "xterm" mit dem bereits lokal laufenden WindowManager übers Netz. (Ausserdem haben wir den "twm" ja noch garnicht installiert, ich würde dann sowieso den ICEwm vorziehen.)

Start

VNC-Server starten:

> vncserver -geometry 1024x768 -depth 16 -nolisten tcp :1
Stop

VNC-Server stoppen:

# vncserver -kill :1
  Killing Xvnc process ID 55429

Server (Ubuntu-Linux)

In diesem Beispiel wird das OS Linux Ubuntu 10.04 verwendet.

Der Rechner und der Beispielbenutzer heißen beide fritz.

vino (Gnome2)

Installation (als root):

# aptitude install vino

Der VINO wird zusammen mit GNOME gestartet.

Passwort setzen:

# vino-passwd

Einstellungen vornehmen:

# vino-preferences

Kommandozeile

Server (Ubuntu 16.04)

Installation

> apt install tightvncserver icewm menu xterm firefox mc emelfm2 nemo

mögliche Dateimanager

libc    : mc
GTK     : emelfm2
GNOME   : nautilus
MATE    : caja
Cinnamon: nemo
KDE     : dolphin
Plasma  : dolphin4

Das Passwort für den VNC-Server setzen, das Passwort darf nicht länger als 8 Zeichen sein:

> vncpasswd 
Password:
Verify:
~/bin/vncserver_show.sh
#!/bin/bash
 
ps lx | fgrep -v grep | fgrep -i vnc | fgrep -v ${0}
~/bin/vncserver_start.sh
#!/bin/bash
 
BILDFORMAT="1280x1024"
 
vncserver -geometry ${BILDFORMAT} -depth 24 2>&1 | fgrep "New 'X' desktop is" | awk '{print "vncviewer -AutoSelect=0 -FullColour",$NF}'
~/bin/vncserver_stop.sh
#!/bin/bash
 
kill $(ps lx | fgrep -v grep | fgrep vnc | awk '{print $3}')
> mkdir -p .vnc
~/.vnc/xstartup
#!/bin/sh
 
xrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+650+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
#/etc/X11/Xsession
xterm -geometry 80x24+650+10 -ls -title "$VNCDESKTOP Desktop" &
icewm-session &
emelfm2 &
nemo --no-desktop &
> mkdir -p .icewm
~/.icewm/toolbar
prog XTerm xterm xterm
prog emelfm2 /usr/share/pixmaps/emelfm2/emelfm2.xpm emelfm2
prog nemo folder nemo
prog Firefox firefox firefox
~/.icewm/menu
prog Firefox firefox firefox
prog nemo folder nemo
prog emelfm2 /usr/share/pixmaps/emelfm2/emelfm2.xpm emelfm2
prog xterm xterm xterm -ls
separator
menu "Dateiverwaltung" folder {
  prog    "Baobab" "/usr/share/pixmaps/baobab.xpm" /bin/sh -c "/usr/bin/baobab"
  prog    "Brasero" - /bin/sh -c "/usr/bin/brasero"
  prog    "File-Roller" "/usr/share/pixmaps/file-roller.xpm" /bin/sh -c "/usr/bin/file-roller"
  prog    "mc" "/usr/share/pixmaps/mc.xpm" /bin/sh -c "xterm  -T \"mc\" -e sh -c \"/usr/bin/mc\" ~/ ~/"
  prog    "Nautilus" "/usr/share/pixmaps/nautilus.xpm" /bin/sh -c "/usr/bin/nautilus --no-desktop"
  prog    "Nemo" "/usr/share/pixmaps/nemo.xpm" /bin/sh -c "/usr/bin/nemo --no-desktop"
}

Server (Ubuntu "alt")

Installation (als root):

# aptitude install vnc4server icewm nemo menu

Die folgenden Schritte werden als User fritz ausgeführt!

VNC-Konfiguration anpassen:

# mkdir -p .vnc
# vi .vnc/xstartup
#!/bin/sh
#
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
#
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
icewm-session &
nemo --no-desktop &

icewm konfigurieren:

# mkdir -p .icewm
# cp /etc/X11/icewm/* .icewm/

Standardmenü erstellen:

# update-menus

Menüleiste konfigurieren:

# vi .icewm/toolbar
prog XTerm xterm xterm
prog Firefox firefox firefox

Menü konfigurieren:

# vi .icewm/menu
prog xterm xterm xterm -ls
prog Firefox firefox firefox
separator
menu "Büro" folder {
  prog    "LibreOffice Calc" "/usr/share/icons/hicolor/32x32/apps/libreoffice-calc.xpm" /bin/sh -c "/usr/bin/libreoffice --calc"
  prog    "LibreOffice Writer" "/usr/share/icons/hicolor/32x32/apps/libreoffice-writer.xpm" /bin/sh -c "/usr/bin/libreoffice --writer"
}
menu "Dateiverwaltung" folder {
  prog    "Baobab" "/usr/share/pixmaps/baobab.xpm" /bin/sh -c "/usr/bin/baobab"
  prog    "Brasero" - /bin/sh -c "/usr/bin/brasero"
  prog    "File-Roller" "/usr/share/pixmaps/file-roller.xpm" /bin/sh -c "/usr/bin/file-roller"
  prog    "mc" "/usr/share/pixmaps/mc.xpm" /bin/sh -c "xterm  -T \"mc\" -e sh -c \"/usr/bin/mc\" ~/ ~/"
  prog    "Nautilus" "/usr/share/pixmaps/nautilus.xpm" /bin/sh -c "/usr/bin/nautilus --no-desktop"
  prog    "Nemo" "/usr/share/pixmaps/nemo.xpm" /bin/sh -c "/usr/bin/nemo --no-desktop"
}
menu "Betrachter" folder {
  prog    "Evince" "/usr/share/pixmaps/evince.xpm" /bin/sh -c "/usr/bin/evince"
  prog    "Eye of GNOME" "/usr/share/pixmaps/gnome-eog.xpm" /bin/sh -c "/usr/bin/eog"
}

Das Passwort für den VNC-Server setzen, das Passwort darf nicht länger als 8 Zeichen sein:

# vncpasswd 
Password:
Verify:

einmal zum testen starten, dabei wird auch gleich die Konfigurationsdatei angelegt:

# vncserver -geometry 1280x1024 -depth 24

New 'fritz:1 (fritz)' desktop is fritz:1

Starting applications specified in /home/fritz/.vnc/xstartup
Log file is /home/fritz/.vnc/fritz:1.log

wieder beenden:

# vncserver -kill :1

oder

# killall Xvnc4 &>/dev/null

Start

Jetzt starten:

# vncserver -geometry 1280x1024 -depth 24

New 'fritz:1 (fritz)' desktop is fritz:1

Starting applications specified in /home/fritz/.vnc/xstartup
Log file is /home/fritz/.vnc/fritz:1.log

Client (Ubuntu-Linux)

Installation

Der xvnc4viewer wird hier nur Beispielhaft verwendet, es funktioniert aber auch jeder andere VNC-Client.

Installation (als root):

# aptitude install xvnc4viewer

Start

vnc4server
# vncviewer fritz:1

VNC Viewer Free Edition 4.1.1 for X - built Apr  9 2010 15:52:37
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.

Sat May 22 13:26:16 2010
 CConn:       connected to host fritz port 5901
 CConnection: Server supports RFB protocol version 3.8
 CConnection: Using RFB protocol version 3.8
Password: 

Sat May 22 13:26:19 2010
 TXImage:     Using default colormap and visual, TrueColor, depth 24.
 CConn:       Using pixel format depth 6 (8bpp) rgb222
 CConn:       Using ZRLE encoding
vino (GNOME2)
# vncviewer fritz:0

VNC Viewer Free Edition 4.1.1 for X - built Apr  9 2010 15:52:37
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.

Sat May 22 15:51:02 2010
 CConn:       connected to host fritz port 5900
 CConnection: Server supports RFB protocol version 3.7
 CConnection: Using RFB protocol version 3.7
 TXImage:     Using default colormap and visual, TrueColor, depth 24.
 CConn:       Using pixel format depth 6 (8bpp) rgb222
 CConn:       Using ZRLE encoding

Sat May 22 15:51:05 2010
 CConn:       Throughput 20000 kbit/s - changing to hextile encoding
 CConn:       Throughput 20000 kbit/s - changing to full colour
 CConn:       Using pixel format depth 24 (32bpp) little-endian rgb888
 CConn:       Using hextile encoding

An Stelle des Rechnernamens (fritz) kann natürlich auch die entsprechende IP (z.B.: 192.168.1.10) verwendet werden.

volle Farbpalette auch bei zu geringer Bandbreite erzwingen:

# vncviewer -AutoSelect=0 -FullColour fritz:0

mit Skripten ein- und ausschalten

Ubuntu 18.04 LTS

> apt install vnc4server xvnc4viewer gvncviewer

> ~/bin/vncserver_start.sh
> ~/bin/vncserver_show.sh
> ~/bin/vncserver_stop.sh
~/bin/vncserver.cfg
BILDFORMAT="1280x1024"
VNC_OPTIONEN="-geometry ${BILDFORMAT} -depth 24"
~/bin/vncserver_start.sh
#!/bin/bash
 
#
# startet meinen VNC-Server
#
 
. $(dirname ${0})/vncserver.cfg
 
vncserver ${VNC_OPTIONEN} 2>&1
 
# Xvnc4 :2 -desktop mtiq853:2 (fritz) -auth /home/fritz/.Xauthority -geometry 1280x1024 -depth 24
VNC_PORT="$(ps x | fgrep -v grep | fgrep " ${VNC_OPTIONEN} " | fgrep -i vnc | awk '{print $6}')"
VNC_IP="$(ip a | fgrep -v 127.0.0.1 | fgrep 'inet ' | awk '{print $2}' | awk -F'/' '{print $1}')"
 
echo "#
# Start mit:
# vncviewer -AutoSelect=0 -FullColour ${VNC_IP}${VNC_PORT}
# oder
# gvncviewer ${VNC_IP}${VNC_PORT}
#"
~/bin/vncserver_show.sh
#!/bin/bash
 
#
# zeigt meinen VNC-Server
#
 
. $(dirname ${0})/vncserver.cfg
 
# Xvnc4 :2 -desktop mtiq853:2 (fritz) -auth /home/fritz/.Xauthority -geometry 1280x1024 -depth 24
# ps x | fgrep -v grep | fgrep " ${VNC_OPTIONEN} " | fgrep -i vnc
VNC_PID="$(ps x | fgrep -v grep | fgrep " ${VNC_OPTIONEN} " | fgrep -i vnc | awk '{print $1}')"
VNC_PORT="$(ps x | fgrep -v grep | fgrep " ${VNC_OPTIONEN} " | fgrep -i vnc | awk '{print $6}')"
VNC_IP="$(ip a | fgrep -v 127.0.0.1 | fgrep 'inet ' | awk '{print $2}' | awk -F'/' '{print $1}')"
 
if [ "x${VNC_PID}" != x ] ; then
 
echo "#
# ${VNC_PID} - ${VNC_IP}${VNC_PORT}
#"
 
fi
~/bin/vncserver_stop.sh
#!/bin/bash
 
#
# beendet meinen VNC-Server
#
 
. $(dirname ${0})/vncserver.cfg
 
# Xvnc4 :2 -desktop mtiq853:2 (fritz) -auth /home/fritz/.Xauthority -geometry 1280x1024 -depth 24
# ps x | fgrep -v grep | fgrep " ${VNC_OPTIONEN} " | fgrep -i vnc
VNC_PID="$(ps x | fgrep -v grep | fgrep " ${VNC_OPTIONEN} " | fgrep -i vnc | awk '{print $1}')"
VNC_PORT="$(ps x | fgrep -v grep | fgrep " ${VNC_OPTIONEN} " | fgrep -i vnc | awk '{print $6}')"
VNC_IP="$(ip a | fgrep -v 127.0.0.1 | fgrep 'inet ' | awk '{print $2}' | awk -F'/' '{print $1}')"
 
if [ "x${VNC_PID}" != x ] ; then
 
echo "#
# ${VNC_PID} - ${VNC_IP}${VNC_PORT}
#"
vncserver -kill ${VNC_PORT}
 
fi