本文介绍树莓派4B使用vnc viewer远程登入时出现灰屏的解决方法及其树莓派4B的vncserver的开机自启动
vnc viewer的下载和使用方法这里就不做赘述,可以参考其他博客
前期准备
以下代码可能会有些繁琐,可以使用putty非图形化界面远程登入软件来实现。
安装vncserver服务(如果没安装)
sudo apt update
sudo apt install tightvncserver # 或 tigervnc-server(根据需求选择)
首次使用需要设置密码(可以直接跳过不设置)
vncserver # 运行后按提示设置连接密码
vncserver -kill :1 # 生成密码文件后关闭临时会话
设置开机自启动
创建systemd服务文件
sudo nano /etc/systemd/system/vncserver@.service
输入内容
[Unit]
Description=Start TightVNC Server at :1
After=syslog.target network.target
[Service]
Type=forking
User=pi # 替换为你的用户名(默认树莓派用户是pi)
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :1
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
保存退出即可
启动服务
sudo systemctl daemon-reload
sudo systemctl enable vncserver.service # 启用开机自启动
sudo systemctl start vncserver.service # 立即启动服务
可以多次运行sudo systemctl start vncserver@1指令(修改最后的数字即可保证在vnc viewer内的连接)
可以使用以下指令验证服务状态(若显示 "active (running)" 表示成功)
systemctl status vncserver.service
最好关闭防火墙保证开机开发VNC的端口(可以没有)
sudo ufw allow 5901
为什么是5901前面代码有提及
注意事项
设置完这些记得把自动登入桌面开启,这样不需要输入密码进入桌面环境以达到开机自启动的效果
具体的操作流程就是点击右上角的设置(setting)找到自动登入开启即可。