Удалённый доступ через VNC

From wiki.habital.lv
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Для удалённого доступа на компьютер с использованием графической консоли можно воспользоваться пакетами VNC-программ (см. Virtual Network Computing) Возможно, что проще всего настроить доступ к VNC-серверу посредством inetd. Для этого надо добавить в файл "/etc/inetd.conf" следующую строчку:

vnc5900 stream  tcp     nowait  nobody  /usr/bin/Xvnc   Xvnc -inetd -query localhost -once securitytypes=none

Чтобы системе был известен сервис с названием "vnc5900", надо добавить его в файл "/etc/services":

vnc5900         5900/tcp

Далее. Надо добавить запуск xdm и сделать несколько изменений в настройках файлов "Xaccess" и "xdm-config":

  • в файле "Xaccess" зарешить всем хостам доступ к "login window":
*                                       #any host can get a login window
  • в файле "xdm-config":
!DisplayManager.requestPort:    0

Кроме того, для менеджера "kdm" в файле "kdmrc" сделать следующие изменения:

[Xdmcp]
# Whether KDM should listen to incoming XDMCP requests.
# Default is true
Enable=true
# The UDP port on which KDM should listen for XDMCP requests. Do not change.
# Default is 177
Port=177

Добвить, если этого ещё нет, запуск xdm в "init.d". Для дистрибутивов "Slackware", "Slamd64" файла "rc.xdm" нет.

  • Файл rc.xdm:
#!/bin/sh
# xdm start/stop script for RedHat based systems
#
# chkconfig: 234 60 60
# description: xdm permits remote users to logon to this X display
# processname: /usr/X11R6/bin/xdm
# config: /etc/X11/xdm/xdm-config

# source function library
. /etc/rc.d/init.d/functions

[ -x /usr/bin/xdm ] || exit 0
 
prog=/usr/bin/xdm

RETVAL=0

start () {
       echo -n $"Starting $prog: "
       # start daemon
       daemon $prog
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && touch /var/lock/subsys/xdm
       return $RETVAL
}

stop () {
       echo -n $"Stopping $prog: "
       killproc $prog
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && rm -f /var/lock/subsys/xdm
       return $RETVAL
}

restart () {
       stop
       start
       RETVAL=$?
       return $RETVAL
}

# See how we were called.
case "$1" in
        start)
       start
       ;;
        stop)
       stop
       ;;
        status)
       status $prog
       RETVAL=$?
       ;;
        restart)
       restart
       ;;
        condrestart)
       # only restart if it is already running
       [ -f /var/lock/subsys/xdm ] && restart || :
       ;;
        reload)
       echo -n $"Reloading $prog: "
       killproc $prog -HUP
       RETVAL=$?
       echo
       ;;
        *)
            echo $"Usage: $0 (start|stop|restart|condrestart|reload|status)"
            RETVAL=1
esac

exit $RETVAL

Примечание: Удалённый доступ на компьютер с помощью VNC является небезопасным. Для защищённого доступа можно использовать например ssh-туннель.