树莓派VNC server设置开机自启动

本文介绍了在Raspberry Pi上设置TightVNC服务器开机自启动的三种方法:1) 创建服务脚本并更新启动列表;2) 向rc.local文件添加启动代码;3) 结合前两种方法。详细步骤包括编写脚本、修改文件权限、设置启动参数等,并提供了注意事项和解决坑点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前已测试OK的几个方法:

方法1(作为服务自启动):
在/etc/init.d/中创建一个文件。例如tightvncserver:

sudo nano /etc/init.d/tightvncserver

在该文件中写入以下内容:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          tightvncserver
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO
 
# More details see:
# http://www.penguintutor.com/linux/tightvnc
 
### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='pi'
### End customization required
 
eval cd ~$USER
 
case "$1" in
  start)
    # 启动命令行。此处自定义分辨率、控制台号码或其它参数。
    su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1'
    echo "Starting TightVNC server for $USER "
    ;;
  stop)
    # 终止命令行。此处控制台号码与启动一致。
    su $USER -c '/usr/bin/tightvncserver -kill :1'
    echo "Tightvncserver stopped"
    ;;
  *)
    echo "Usage: /etc/init.d/tightvncserver {start|stop}"
    exit 1
    ;;
esac
exit 0

注意保存文件!(Ctrl+O 回车 Ctrl+X)

然后给tightvncserver文件加执行权限,并更新开机启动列表。

sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults

最后开机重启就会发现VNC server可以开机自启动了。

如果需要解除此开机启动项:

sudo update-rc.d -f tightvncserver remove

上述方法的注意点:
[1] tightvncserver有些安装后在/usr/bin/目录下是vncserver,具体可以进入该目录查看,如果是这种情况,上述方法中所有的tightvncserver全部改成vncserver。(笔者就在这里坑了)
[2] 上面的USER用的是pi用户,所以在VNC登陆时也要用pi用户名登陆,不要用root。
[3] 上述文件的命名用了tightvncserver,是因为启动脚本的名称,有和程序名一致的习惯,实际也可以改成其他的命名,重点在于其内容。
[4] -depth 16是设置颜色位深,-geometry 800x600是设置分辨率,:1是设置端口。这些参数实际上也可以省略不加,会按默认的执行。
[5] :1如果不加此参数,tightvncserver会自动寻找从1开始的下一个空闲控制台。加上此参数,会强制使用指定的控制台,如果此控制台已经启动则报错。加此参数可有效防止无意多次启动程序(会启动多个控制台)白白浪费系统资源。
0号控制台就是连接真实显示器真正输出图像的那个桌面。对于VNC客户端,如果不输入端口号登录,默认就登录到0号控制台。

方法2(向rc.local文件添加启动代码):

sudo nano /etc/rc.local 

找到最后一行的exti 0,在前面添加

su pi -c "/usr/bin/vncserver -depth 16 -geometry 800x600 :1"

su命令是指定在pi用户下执行这条命令,-c 表示执行完这条命令之后恢复原来的用户。
编辑完成后如下图所示:
在这里插入图片描述
完成后注意保存退出。

开机重启就会发现VNC server可以开机自启动了。

此方法注意点:
[1] 同方法1, -depth 16是设置颜色位深,-geometry 800x600是设置分辨率,:1是设置端口。这些参数实际上也可以省略不加,会按默认的执行。
[2] tightvncserver有些安装后在/usr/bin/目录下是tightvncserver,具体可以进入该目录查看,如果是这种情况,上述方法中的命令中vncserver要改成tightvncserver。

方法3
前两个方法的结合版。
先按照方法1编写一个脚本,然后打开rc.local文件

sudo nano /etc/rc.local 

找到最后一行的exti 0,在前面添加

/etc/init.d/tightvncserver start &

加&的作用是防止当前一段代码执行堵塞时,系统会卡机!

参考:
https://www.cnblogs.com/penuel/p/11962790.html

https://www.douban.com/note/494492119/

添加链接描述

https://shumeipai.nxez.com/2013/09/04/login-rpi-with-vnc.html

另一种
https://blog.csdn.net/u011615512/article/details/39666053?utm_source=blogxgwz6

添加链接描述

设置开机自启动方法
https://blog.csdn.net/qq_41508747/article/details/108055715

https://shumeipai.nxez.com/2017/05/17/raspberry-pi-service-python-script-start-on-boot.html

https://www.freesion.com/article/9555357554/

https://www.cnblogs.com/haochuang/p/6005121.html

改分辨率
https://blog.csdn.net/qq_43445362/article/details/107127636

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾爱技术圈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值