我有一个vps,它安装了基本的xfce环境& tightvncserver。
我希望无论何时启动到运行在其上的端口的连接(在我的例子中是5901)时,都可以自动启动tightvncserver。
我看过关于使用inetd或xinetd来实现这个功能的文章,但我也看到很多帖子说(x)inetd没有包含在Ubuntu中是有原因的,使用它是个坏主意。
无论如何,我正在寻找一种方法,只要有端口5901的传入连接,最好是尽可能少的依赖项,就可以自动启动紧密的tightvncserver。
发布于 2013-08-08 19:52:08
我不知道为什么“使用xinetd或inetd是个坏主意”。我检查了两个bug追踪器,没有发现任何安全问题。
尽管如此,我将尝试重复您已经发现的关于配置‘xinetd’的内容:
xinetd是非常直接的配置。它使用/etc/xinetd.d/目录存储所有每个服务的配置,因此只需创建启动tightvncserver的配置,创建文件的sudo vim /etc/xinetd.d/tightvncserver,然后插入配置(可以根据需要修改配置):
service tightvncserver
{
socket_type = stream
protocol = tcp
wait = no
## I don't run a vnc server myself, but you should change this for the user your VNC service uses.
user = root
port = 5901
server = /usr/sbin/tightvncserver
## This allows access from anyone in the 192.168 subnet, if you want anyone, just do not add this line.
only_from = 192.168.0.0
log_on_failure += USERID
disable = no
}就这样。现在,您应该禁用rc-d目录中的tightvncserver引导。
您还可以添加更多选项,但我将将其留给手册处理。
发布于 2014-05-28 13:09:41
我不会尝试使用tightvncserver,而是尝试使用与@Braiam建议的相同的东西,而是使用Xvnc。
service Xvnc
{
disable = no
type = UNLISTED
socket_type = stream
protocol = tcp
user = nobody
wait = yes
server = /usr/bin/Xvnc
server_args = -inetd :1 -query localhost -geometry 1024x768 -depth 16 -NeverShared -once -rfbauth /root/.vncpasswd
port = 5901
}您可以通过更改上面的/root/.vncpasswd来调整密码文件所在的位置。该文件的权限可能不稳定,因此您可能需要将它们设置为chmod 600 .vncpasswd。
如果您需要更多的详细信息,请看一下教程2.使用xinetd启动VNC服务器,它展示了可以将VNC作为xinetd服务运行的许多不同方式。
关于不使用xinetd的整个评论都是胡说八道。这是一项非常好的服务,与其他服务一样,您需要了解使用技术X的含义,仅此而已。
https://askubuntu.com/questions/330304
复制相似问题