답변:
Google에서 " 시작시 ubuntu launch vnc server "를 검색하여 이러한 지침 을 찾았습니다 .
vncserver
비밀번호를 설정하기 위해 처음 시작 하십시오./etc/init.d/vncserver
(사용자, 지오메트리, 이름 등을 원하는대로 수정하십시오).sudo chmod +x /etc/init.d/vncserver
sudo update-rc.d vncserver defaults
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: vncserver
# Required-Start: networking
# Default-Start: S
# Default-Stop: 0 6
### END INIT INFO
PATH="$PATH:/usr/X11R6/bin/"
# The Username:Group that will run VNC
export USER="mythtv"
#${RUNAS}
# The display that VNC will use
DISPLAY="1"
# Color depth (between 8 and 32)
DEPTH="16"
# The Desktop geometry to use.
#GEOMETRY="<WIDTH>x<HEIGHT>"
#GEOMETRY="800x600"
GEOMETRY="1024x768"
#GEOMETRY="1280x1024"
# The name that the VNC Desktop will have.
NAME="my-vnc-server"
OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;
stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
보다 동적 인 구성과 여러 사용자를 연결할 수있는 기능을 원한다면 더 좋은 방법이 있습니다. 루트로서 파일 (및 디렉토리가 존재하지 않는 경우 디렉토리) / etc / sysconfig / vncservers를 작성하십시오.
mkdir -p /etc/vncserver
touch /etc/vncserver/vncservers.conf
방금 만든 vncservers.conf 파일에 다음과 같은 것을 추가하여 각 사용자에게 필요한 서버를 추가하십시오.
VNCSERVERS="1:justin 2:bob"
VNCSERVERARGS[1]="-geometry 1920x1080 -depth 24"
VNCSERVERARGS[2]="-geometry 800x600 -depth 8"
다음으로 빈 init 스크립트를 작성하고 실행 가능하게 만드십시오.
touch /etc/init.d/vncserver
chmod +x /etc/init.d/vncserver
/etc/init.d/vncserver에 다음을 추가하십시오.
#!/bin/bash
unset VNCSERVERARGS
VNCSERVERS=""
[ -f /etc/vncserver/vncservers.conf ] && . /etc/vncserver/vncservers.conf
prog=$"VNC server"
start() {
. /lib/lsb/init-functions
REQ_USER=$2
echo -n $"Starting $prog: "
ulimit -S -c 0 >/dev/null 2>&1
RETVAL=0
for display in ${VNCSERVERS}
do
export USER="${display##*:}"
if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
echo -n "${display} "
unset BASH_ENV ENV
DISP="${display%%:*}"
export VNCUSERARGS="${VNCSERVERARGS[${DISP}]}"
su ${USER} -c "cd ~${USER} && [ -f .vnc/passwd ] && vncserver :${DISP} ${VNCUSERARGS}"
fi
done
}
stop() {
. /lib/lsb/init-functions
REQ_USER=$2
echo -n $"Shutting down VNCServer: "
for display in ${VNCSERVERS}
do
export USER="${display##*:}"
if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
echo -n "${display} "
unset BASH_ENV ENV
export USER="${display##*:}"
su ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
fi
done
echo -e "\n"
echo "VNCServer Stopped"
}
case "$1" in
start)
start $@
;;
stop)
stop $@
;;
restart|reload)
stop $@
sleep 3
start $@
;;
condrestart)
if [ -f /var/lock/subsys/vncserver ]; then
stop $@
sleep 3
start $@
fi
;;
status)
status Xvnc
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
exit 1
esac
Stephen이 자신의 답변에서 언급했듯이 로그인하려는 각 사용자로 최소 한 번에 vncserver를 실행해야합니다. 그 단계를 건너 뛰면 아무것도 작동하지 않기 때문에 모자에 넣었습니다. 루트로서 당신은 할 수 있습니다 :
su justin -c vncserver
su bob -c vncserver
그러면 적절한 시작 스크립트를 사용하여 각 사용자 홈 디렉토리에 .vnc 디렉토리가 작성됩니다.
마지막으로 다음을 수행하십시오.
update-rc.d vncserver defaults 99
이제 다음을 입력하여 재부팅하거나 수동으로 서비스를 시작할 수 있습니다.
service vncserver start
나는 내가 도와주고있는 친구들의 우분투에 접속하여, 설치하거나, 구성하거나 가르치기 위해 가르칩니다.
모뎀을 통해 인터넷에서 액세스해야하므로 vino를 사용합니다.
액세스하는 동안 모든 공유 및 보안 옵션이 설정되어 있습니다.
vino 서버가 항상 활성화되기를 원하지 않습니다. 자동 시작되지 않는 것이 좋습니다.
시스템> 원격 데스크톱 메뉴가 없습니다.
/usr/share/applications/vino-preferences.desktop을 다음과 같이 편집했습니다.
# OnlyShowIn=Unity;
Exec=bash -c 'vino-preferences;/usr/lib/vino/vino-server&zenity --info --text="Accès par Internet: `curl http://ipecho.net/plain`:5900"'
일하기 전에 친구에게 원격 데스크톱 환경 설정을 실행하고 공유 허용 ...을 선택하도록 요청합니다.
환경 설정을 종료하면 vino-server가 시작되고 사용할 IP 주소를 알려줍니다.
작업이 완료되면 환경 설정을 다시 실행하여 공유 허용 ...을 선택합니다.
기본 설정을 종료하면 vino-server가 중지되고 공유 해제 상태에서 시작된 경우에도 중지됩니다.
이 절차는 매우 편리하고 사용자에게 가장 안전합니다.
추신 : 개발자는 버그가 글로벌 시스템에 영향을 줄 수 없기 때문에 사용자 세션 내에서 로컬로 프로그램을 실행하는 것을 선호합니다.
우분투 12.1에서 시스템 설정-> 사용자로 가서 사용자를 선택하고 "자동 로그인-> ON"을 설정할 수있었습니다.
그런 다음 상자 자체에 로그인하지 않고 tightVNC를 사용하여 로그인 할 수있었습니다.
헤드리스 우분투 리눅스 박스에서 잘 작동했습니다.
vncserver_john, vncserver_bill, ... 파일을 여러 개 만들어 다른 사용자를 위해 여러 vnc가 필요한 경우에도 stephen jennings 솔루션을 사용하는 것이 좋습니다. 이를 통해 개별적으로 시작 / 중지 할 수 있습니다. 확실히, 좋은 프로그래밍 관행은 모든 사용자에게 공통적 인 코드를 하나의 파일에 넣고 다른 모든 것에서 소스로 만드는 것을 제안합니다.
저는 몇몇 동료들이 별도의 vnc를 가진 과학 프로그래밍과 데이터 평가를 수행하는 서버에 대해 "상속 된"책임을 가지고 있습니다. 서버는 실제로 수년에 걸쳐 지속적으로 안정적으로 실행되며 사용자는 열린 창을 저장하기가 게으르다. 그러나 단일 vncserver 또는 X11 서버가 때때로 멈춤으로써 하나의 서버를 다시 실행하기 위해 모든 사용자를 종료하는 것은 큰 골칫거리입니다.