суббота, 21 ноября 2009 г.

Настройка VNC в Solaris 10 - запуск с помощью Xserver

Аналогично рассмотренному: Настройка VNC в Solaris 10 - запуск с помощью dtlogin. VNC можно запускать при старте системы, но использовать идеологически более правильное хранение параметров запуска в SMF.
Скрипт
/usr/X11/bin/Xserver
считывает параметры запускаемого X-сервера из SMF:
# grep x11-server /usr/X11/bin/Xserver
    svcprop -q -p $1 application/x11/x11-server$INSTANCE
    PROPVAL=$(svcprop -p $1 application/x11/x11-server$INSTANCE)
Таким образом правильнее хранить параметры в базе SMF.
Скрипт, выполняющий данную операцию выглядит так:
#!/usr/bin/sh

# Xwindows is configured with text files under /usr/dt
# but these shouldn't be modified,
# make copied of them under /etc/dt and modify the copies

VNC_LIST="1 2"

if [ ! -d $HOME/.vnc ]
then
  mkdir -p /etc/dt/config
fi
cp /usr/dt/config/Xservers /etc/dt/config/

# Add the /etc/dt/config/Xservers to configure the extra connections to Xwindows
# Set properties for x11-server instances
for VNC in $VNC_LIST
do

  echo "   :${VNC}   Local local_uid@none root /usr/X11/bin/Xserver :${VNC}"\
  >> /etc/dt/config/Xservers
  INST=`svcs -H -o INST svc:/application/x11/x11-server:display${VNC} 2> /dev/null`
  if [ -n "${INST}" ]
  then
    svccfg delete application/x11/x11-server:display${VNC}
  fi
  svccfg -s application/x11/x11-server add display${VNC}
  svccfg -s application/x11/x11-server:display${VNC} addpg options application

  svccfg -s application/x11/x11-server:display${VNC} \
         setprop options/server = astring: \"/usr/X11/bin/Xvnc\"
  svccfg -s application/x11/x11-server:display${VNC} \
         setprop options/server_args = astring: \"-PasswordFile=${HOME}/.vnc/passwd\"
  svccfg -s application/x11/x11-server:display${VNC} \
         addpropvalue options/server_args astring: \"-AlwaysShared\"
 
  svcadm refresh application/x11/x11-server:display${VNC}

done

# Configure a password, this is prompted for before the user sees a login screen
echo "Please set VNC password"
if [ ! -d $HOME/.vnc ]
then
  mkdir $HOME/.vnc
fi
vncpasswd
chmod +r /root/.vnc/passwd

# Restarting dtlogin
svcadm restart svc:/application/graphical-login/cde-login:default
При такой конфигурации используется глубина цвета по умолчанию для X11 в Solaris:
# svcprop application/x11/x11-server | grep depth
options/default_depth integer 24
В остальном Xvnc запускается с теми же параметрами.
/usr/X11/bin/Xvnc :1 -depth 24 -PasswordFile=/root/.vnc/passwd -AlwaysShared  -auth /var/dt/A:1-i1a4Lw

Комментариев нет:

Что мне интересно - общие элементы Google Reader