ฉันจะเริ่มต้นเซิร์ฟเวอร์ VNC ก่อนเข้าสู่ระบบได้อย่างไร


19

ฉันต้องการเรียกใช้ x11vnc (หรือเซิร์ฟเวอร์ VNC อื่น) บนเดสก์ท็อปของฉัน แต่ฉันไม่สามารถหาวิธีที่จะเริ่มต้นก่อนที่ผู้ใช้จะเข้าสู่ระบบย้อนกลับไปเมื่อฉันใช้ vanilla Ubuntu 10.10 Vino ทำสิ่งนี้ตามค่าเริ่มต้น อย่างไรก็ตามฉันไม่สามารถหาวิธีที่จะทำมันได้ใน Xubuntu

คำตอบ:


15

ฉันมักจะแนะนำเซิร์ฟเวอร์ VNC สำรอง x11vncserver หรือ FreeNX

FreeNX วิธีการและดาวน์โหลดข้อมูล

x11 VNC และเอกสาร

สิ่งนี้ถือว่า VNC ได้รับการตั้งค่าและสามารถใช้งานได้:

/etc/init.d/vncserverคัดลอกโค้ดบล็อกด้านล่างลงไป วิธีที่ง่ายที่สุดที่จะทำคือคัดลอกไปยังคลิปบอร์ดของคุณเรียกใช้sudo -i && cat > /etc/init.d/vncserver && exitในเทอร์มินัลวางไว้และพิมพ์Ctrl- D` อย่าลืมเปลี่ยนตัวแปร USER เป็นผู้ใช้ที่คุณต้องการให้เซิร์ฟเวอร์ VNC ทำงาน

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Default-Start:     3 4 5
# 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

sudo chmod +x /etc/init.d/vncserverทำให้ปฏิบัติการสคริปต์ด้วย

sudo update-rc.d vncserver defaultsจากนั้นเรียกใช้ สิ่งนี้จะเพิ่ม symlink ที่เหมาะสมให้กับสคริปต์ vncserver เพื่อให้ส่งคำสั่งเริ่มต้นและหยุดในเวลาที่เหมาะสม

หมายเหตุ: คุณอาจต้องใช้sudo update-rc.d vncserver 99แทนหากงานรันเร็วเกินไปในกระบวนการบู๊ต

ในการเริ่มต้นเซิร์ฟเวอร์โดยไม่ต้องรีบูตให้รัน sudo /etc/init.d/vncserver start

สุดท้ายเชื่อมต่อกับเซิร์ฟเวอร์ของคุณด้วยไคลเอนต์ VNC บนพอร์ต 590X โดยที่ X คือค่าของ "DISPLAY" ในสคริปต์ vncserver

แหล่ง


sudo update-rc.d vncserver defaults 99ฉันคิดว่าคำสั่งเริ่มต้นลำดับล่าช้าควรเป็น
Christoph

ทุกอย่างใช้งานได้ดียกเว้นว่าฉันไม่มีสิทธิ์ในเครือข่ายหรือถังขยะด้วยเหตุผลบางอย่าง askubuntu.com/questions/722802/…
Donny V.

4

ทางออกของฉัน:

  1. ไปที่การแบ่งปันเดสก์ท็อปและอนุญาตให้แชร์และใส่รหัสผ่านที่ดี (คลิกปิดเพื่ออนุญาตการอนุญาต)
  2. ไปที่หน้าจอและตั้งค่าให้ล็อคหลังจาก 30 วินาที
  3. ไปที่ผู้ใช้และอนุญาตให้เข้าสู่ระบบอัตโนมัติ

เซิร์ฟเวอร์ vino เริ่มต้นขึ้นและคุณควรแนบไฟล์ได้ คุณสามารถใช้ ssh เพื่อสร้างช่องสัญญาณสำหรับ VNC หากคุณต้องการความปลอดภัย (ฉันใช้ PUTTY และทำงานได้ดีมาก) คุณสามารถเปิดใช้งานไฟร์วอลล์และอนุญาตการรับส่งข้อมูลจากที่อยู่เฉพาะ โซลูชันนี้ได้ผลสำหรับฉันในกล่อง Ubuntu มากกว่า 20 กล่อง


0

จะเกิดอะไรขึ้นเมื่อคุณลอง: (?)

vino-preferences

.. และเพิ่มสิ่งนี้ในแอปที่เริ่มอัตโนมัติเพื่อเริ่มเซิร์ฟเวอร์ vino:

/usr/lib/vino/vino-server

UPDATE:

ลองสิ่งนี้:

เริ่มเซิร์ฟเวอร์ VNC บน Ubuntu ในการบู๊ต

http://www.abdevelopment.ca/blog/start-vnc-server-ubuntu-boot


นี่เป็นการเริ่มต้นแอปพลิเคชันหลังจากลงชื่อเข้าใช้เท่านั้น ฉันต้องการที่จะเริ่มมันก่อนที่ฉันจะเข้าสู่ระบบ
PHLAK

เพิ่มวิธีแก้ปัญหาที่เป็นไปได้ ..
david6

2
โซลูชันล้าสมัย
vainolo

บางคนบอกว่านี่ล้าสมัย แต่ฉันเพิ่งทำไปวันนี้และมันใช้ได้ดี คำเตือนสองสามคำที่รันคำสั่ง update-rc.d แต่ใช้งานได้
John Martin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.