我有一个Raspberry Pi 2,并且一直关注Raspberrypi.org上的帖子,但是Tight VNC Server无法在重新启动时启动。似乎没有任何错误。
如何让TightVncServer在Pi Reboot上启动?
我有一个Raspberry Pi 2,并且一直关注Raspberrypi.org上的帖子,但是Tight VNC Server无法在重新启动时启动。似乎没有任何错误。
如何让TightVncServer在Pi Reboot上启动?
Answers:
为此,您可以使用一点Linux技巧。
我们的第一个任务是编辑文件/etc/rc.local。该文件可以包含在启动时运行的命令。如果我们查看该文件,可以看到其中已经有很少的条目。
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
exit 0
第一组前面带有井号(#)的行是注释。这些只是用来解释读取文件的人发生了什么。
底部的代码行显然与计算机的IP地址有关。实际上,它们是一个简短的脚本,用于检查Raspberry Pi是否具有IP地址,如果有,则将其打印出来。回忆起树莓派启动时,您会在屏幕上看到打印出的IP地址
My IP address is 10.1.1.8
Raspbian GNU/Linux 7 raspberrypi tty1
raspberrypi login:
rc.local中的这段脚本是负责打印IP地址的代码!
我们将以下命令添加到rc.local中;
su - pi -c '/usr/bin/tightvncserver :1'
此命令使用su-pi将用户切换为“ pi”用户。su代表“切换用户”,破折号(-)确保正确使用了用户pi的环境(如其所有设置),并且pi是用户。
-c选项声明该行的下一部分将是要运行的命令,并且引号('/ usr / bin / tightvncserver:1')内的部分是该命令。
在这种情况下,该命令将执行/ usr / bin目录中的文件ightvncserver,它指定我们应该启动桌面会话1(:1)。
为此,我们将使用以下命令编辑rc.local文件:
sudo nano /etc/rc.local
添加我们的行,以便文件如下所示;
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
# Start tightvncserver
su - pi -c '/usr/bin/tightvncserver :1'
exit 0
(我们也可以将自己的注释添加到文件中,以使将来的读者知道发生了什么事情)
就是这样。现在,您应该能够通过重新启动来测试Pi启动时服务是否启动。
如果以上听起来有点冗长,请随时在此处检查更完整的理由。
在开始之前,请确保您的Pi已通过Ethernet \ wifi连接到Internet \ network。
打开终端并输入以下命令:
获取用于远程连接的Pi IP地址(稍后使用)
hostname -I
安装TightVncServer
sudo apt-get update
sudo apt-get install tightvncserver
tightvncserver
第一次运行时,您必须输入密码并进行验证。无需输入仅查看密码。
要在Pi启动时将自动启动配置为服务:
打开nano(文本编辑器)创建一个文件以自动启动Tight VNC Server sudo nano /etc/init.d/tightvncserver
输入以下内容(或复制并粘贴):
#!/bin/sh
# /etc/init.d/tightvncserver
# Set the VNCUSER variable to the name of the user to start tightvncserver under
VNCUSER='pi'
case "$1" in
start)
su $VNCUSER -c '/usr/bin/tightvncserver :1'
echo "Starting TightVNC server for $VNCUSER"
;;
stop)
pkill Xtightvnc
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
按Ctrl + x,然后按y保存并按Enter保留相同的文件名。
编辑此文件的权限,使其可执行并处于活动状态:
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
重新启动以测试 sudo重新启动
为您的操作系统安装vnc客户端,并在Pi重新启动后尝试连接!
对于Windows:例如TightVNC客户端。无需安装服务器。
使用本文顶部的IP地址启动VNC客户端连接。更改您的IP地址。许多Internet帖子中的端口号仅以2位数字列出。这是很简单的方法,如果您使用的是上面的脚本,则pi在端口1上运行,则应该使用590 1。如果为2,则为590 2等。
192.168.1.123:5901
vncserver -geometry 1366x768 -depth 24 -dpi 96
。在使用全屏命令之前,我曾使用该命令。是否可以在代码中添加该行?)
su $VNCUSER -c '/usr/bin/tightvncserver :1'
是运行您所指的命令的地方。只需将选项附加到该行的末尾,结果将是su $VNCUSER -c '/usr/bin/tightvncserver :1' -geometry 1366x768 -depth 24 -dpi 96