windows远程登录Linux几种方式.
来源:http://blog.csdn.net/u010355144/article/details/45541107
命令行方式:telnet,ssh(客户端可以用putty、SecureCRT、SSH Secure Shell Client等SSH 客户端软件,输入您服务器的IP地址,并且输入登录的用户和密码就可以登录了。我常选择的客户端软件是putty。)
图像用户界面:vnc,
1.ubuntu 下telnet服务安装配置 另参见具体设置
下面我们来对Ubuntu Linux telnet的安装和设置进行一下讲解。首先我们需要加载telnet的服务,之后对于root等有关方面进行设置。
在Windows系统中,telnet的配置相对简单一些。
那么在Ubuntu Linux中的telnet的设置就相对比较麻烦了。不少朋友都对这个安装过程不熟悉。没有关系,这里我们就来对Ubuntu Linux telnet的安装设置进行一下讲解。
1. sudo apt-get install xinetd telnetd
2. Ubuntu Linux telnet安装后,系统也会有相应提示:
sudo vi /etc/inetd.conf并加入以下一行(没有这个文件就会新建一个,没关系的,下同)
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
3. sudo vi /etc/xinetd.conf并加入以下内容进行下一步的Ubuntu Linux telnet设置:
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
4. sudo vi /etc/xinetd.d/telnet并加入以下内容:
# default: on
# description: The telnet server serves telnet sessions; it uses
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
5. 重启机器或重启网络服务sudo /etc/init.d/xinetd restart
6. 使用telnet客户端远程登录即可进行非root用户访问.
7.使用root登录:
mv /etc/securetty /etc/securetty.bak 这样root可以登录了.也可这样:
修改/etc/pam.d/login这个文件.只需将下面一行注释掉即可.
#auth required lib/security/pam_securetty.so
8. Ubuntu Linux telnet的详细配制/etc/xinetd.d/telnet
编辑推荐
TCP/IP协议专题
TCP/IP(传输入控制地议/网际协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与..
文章摘要:下面我们来对Ubuntu Linux telnet的安装和设置进行一下讲解。首先我们需要加载telnet的服务,之后对于root等有关方面进行设置。
service telnet
{
disable =no
bind =192.168.1.2
only_from=192.168.1.0/24
#上面这两行说明仅提供内部网段!
Instance =UNLIMITED
Nice =0
Flags =REUSE
socket_type=stream
wait =no
user =root
#server =/usr/sbin/telnetd
server =/usr/sbin/in.telnetd
server_args =-a none
log_on_failure +=USERID
}
service telnet
{
disable =no
bind =140.116.142.196
only_from=140.116.0.0/16
no_access=140.116.32.
#上面三行设置外部较为严格的限制
instance =10
umask =022
nice =10
flags =REUSE
socket_type=stream
wait =no
user =root
#server =/usr/sbin/telnetd
server =/usr/sbin/in.telnetd
log_on_failure +=USERID
}
9.加设防火墙iptables:
如果想要针对192.168.0.0/24这个网段及61.xxx.xxx.xxx这个IP进行telnet开放,可以增加下面几行规则:
/sbin/iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 23 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 -s 61.xxx.xxx.xxx --dport 23 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 --dport 23 -j DROP
10.Ubuntu Linux telnet最后一项设置,加设防火墙/etc/hosts.allow(deny)机制:
上面开放了192.168.0.0/24这个网段,但是如果您只想让其中的192.168.0.1~192.168.0.5进入,可以设置如下 :
vi /etc/hosts.allow
in.telnetd:192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,192.168.0.5:allow
转自:http://blog.csdn.net/zjf280441589/article/details/17408991
引言:
Linux大多应用于服务器,而服务器不可能像PC一样躺在办公室里,它们是放在IDC机房的,所以我们平时登录Linux系统都是通过远程登录的。Linux系统中是通过ssh服务实现的远程登录功能。默认ssh服务开启了22端口(telnet是23端口),而且当我们安装完系统时,这个服务已经安装,并且是开机启动的。所以不需要我们额外配置什么就能直接远程登录linux系统。Ssh服务的配置文件为/etc/ssh/sshd_config,你可以修改这个配置文件来实现你想要的ssh服务。比如你可以更改启动端口为36000.
为什么不用Telnet?telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。
1、ssh的安装
sudoapt-get install ssh
2、生成密钥
ssh-keygen
中间过程会提示你存放密钥的地方Enterfile in which to save the key (/home/gavin/.ssh/id_rsa):我们选择默认,直接回车;
然后会提示Enterpassphrase (empty for no passphrase):设置一个进入私钥的密码,在后边导入id_rsa到puttygen会用到,设置一个自己容易记又不会让人轻易破解的就可以了;
上述过程执行完毕后会生成两个文件,一个是id_rsa(私钥),一个是id_rsa.pub(公钥);
这里将公钥改名为authorized_keys:
cd .ssh
mv id_rsa.pub authorized_keys
3、修改配置文件(/etc/ssh/sshd_config)
sudo vim /etc/ssh/sshd_config
其中有这么一行#AuthorizedKeysFile %h/.ssh/authorized_keys,把前面的#去掉即可;
4、到windows平台将先前生成的私钥id_rsa,转换成putty所识别的格式(*.ppk),得到文件id_rsa.ppk.
(1)把linux上生成的id_rsa拷贝到windows平台下;
(2)下载puttygen.exe,(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)然后打开,我们要让它帮我们做个通行证,生成id_rsa.ppk;
详细步骤:
a)选择“load”,载入以保存好的私钥文件:
b)弹出的对话框里把“文件类型”换成“所有文件”然后选中我们从ubuntu服务器上生成的id_rsa文件;
c)接着,它会提示你输入密码,这不是你linux用户密码,而是前面下划线上的私钥密码;
d)其他的选项直接默认就好了,设置完成之后,点击"saveprivate key",注意(格式为*.ppk)因为putty只识别自己做的钥匙;
(注意:这个文件名字就直接用id_rsa.ppk就可以了,不要再改了)
5、windows上启动putty,进行如下配置
(1)Session-Logging-Hostname:填上你的linux的IP地址
(附:在Linux上用ifconfig命令获取,内容是inet之后的那一串数字)
(2)Windows-Translation-在下拉菜单里选上UTF-8。
(这儿软件一般默认的就是UTF-8,不过最好还是确认一下,如果不是的话,登录后将会出现中文乱码)
(3)Connection-Data - Auto login username:填上你登录Linux时用的用户名。
(4)Connection-SSH-Auth Private key file for authentication:选上id_rsa.ppk;
然后点击open,按照提示输入私钥密码即可访问。
附:密钥认证机制远程登录linux
SSH服务支持一种安全认证机制,即密钥认证。所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey),任何人都可以看到其内容,用于加密;另一个称为密钥(privatekey),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。ssh的密钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。
2.Ubuntu上VNC 配置.
一)利用VNC实现Windows远程访问Linux服务器小结(包括对虚拟机的远程访问+fedora 12)
一、vnc view访问在vmw虚拟机上的linux
Linux服务器架设在VMware之上的虚拟机,那么可以直接使用VMware自带的vnc,而不用自己安装,只要在VMware的设置中将远程显示的选项打开,指定一个端口和密码就可以了,如下图所示:
再在windows中下载vnc veiw 地址为http://www.realvnc.com/products/free/4.1/winvncviewer.html
使用即可。
点击下载好的vnc-4_1_3-x86_win32_viewer.exe输入宿主机器的IP:桌面号或IP:5900+桌面号
在vnc veiw中输入在虚拟机设置的密码
点击OK成功后显示如下所示
到此 windows通过vnc访问在宿主机器虚拟机上的linux(fedora)完成。
二、vnc veiw访问在linux(非通过虚拟机)
vnc的安装和使用
我的环境是被控端 fedora 12 ,主控端 win xp
1、下载vnc server、vnc view
vnc server 下载地址:http://www.realvnc.com/cgi-bin/download.cgi
vnc view 下载地址 :http://www.realvnc.com/products/free/4.1/winvncviewer.html
2、安装
在linux 下安装
[root@fengge lijing]# rpm -i /home/lijing/Soft/vnc-4_1_3-x86_linux.rpm
可能提示以下错误
/Soft/compat-libstdc++-296-2.96-141.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273
这是因为缺乏依赖包的原因,那么下载compat-libstdc++-296-2.96-141.i386.rpm
下载地址:
安装compat-libstdc++-296-2.96-141.i386.rpm后再安装vnc server
[root@fengge lijing]# rpm -i /home/lijing/Soft/compat-libstdc++-296-2.96-141.i386.rpm --force --nodeps
warning: /home/lijing/Soft/compat-libstdc++-296-2.96-141.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273
[root@fengge lijing]# rpm -i /home/lijing/Soft/vnc-4_1_3-x86_linux.rpm
Checking for perl... [OK]
Checking for uname... [OK]
Checking for xauth... [OK]
3、执行vncserver命令:
[root@fengge lijing]# vncserver
You will require a password to access your desktops.
Password: --输入密码
Verify: 登录vncserver密码
New 'fengge:1 (lijing)' desktop is fengge:1 注意这边的1,为桌面编号(即显示号)
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/fengge:1.log
4、在win运行vnc view (192.168.8.169:1或192.168.8.169:5901都是可以的,但192.168.8.169:5901不行(会出现connection refused的错误))
点击OK后即可登录。
三、vnc使用及注意事项
1、vnc view登录时提示 unable to connect to host:Connection refused(10061)
那么要设置被控机linux的远程桌面及防火墙
防火墙可以添加vnc的端口或直接关闭。
2、设置VNC的连接密码。
#vncpasswd (输入VNC连接密码)
注:如果你现在不设置密码,当你用vncserver启动vnc服务时会提示你设置密码。
3、启动VNC服务。
#vncserver (启动vnc服务器)
4、关闭VNC服务。
#vncserver -kill :1 (关闭VNC服务器)
注意:kill和:1之间有一个空格。1与上面的对应
5、启动 停止 重启
#service vncserver start/stop/restart
二)Ubuntu下vnc4server
Ubuntu下设置VNCServer(有vnc4server和vncserver本文以vnc4server讲解)
export XKL_XMODMAP_DISABLE=1 可以注释掉
# unset SESSION_MANAGER 可以注释掉
# exec /etc/X11/xinit/xinitrc 必须注释掉这个,这个是解决灰屏+鼠标变X号的关键
unset DBUS_SESSION_BUS_ADDRESS 可以注释掉(有时候注释掉,会出现灰屏+鼠标变X号)
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup Ubuntu上没有/etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources Ubuntu上没有$HOME/.Xresources
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & 可以不要
gnome-panel & 任务栏等bar在桌面上 !!!
gnome-settings-daemon & 感觉没啥用呢
x-window-manager & 窗口管理器
nautilus & 文件管理器(但是不会出现任务栏等bar在桌面上) 可以不要,可以通过gnome-panel上的Places入口调出。
gnome-terminal & 不是一种x-terminal-emulator 所以不可以省略(gnome-terminal.wrapper,这个才是一种x-terminal-emulator) 可以不要,可以通过右键桌面出来的菜单Open Terminal来调出。
7、修改/etc/X11/xinit/xinitrc文件的许可权限,使其可执行:
sudo chmod 755 /etc/X11/xinit/xinitrc
8、启动vnc4server: (这边必须要重启(因为之前的被我们在第4步给关了),第6步才能生效)
vnc4server
注意:记住此处冒号后提示的数字
vncserver -geometry 1600x970 可以改变分辨率,不然不大的一块区域。(且区域启动后,好像就不好修改了)
vncserver -geometry 1280x1024 -depth 24 -cc 4 24位深,4为真彩
9、用windows电脑登录VNC
方法一: 使用vnc viewer登录这台服务器: http://www.realvnc.com/下载 (这个可行)
在VNC viewer中中输入: ip地址:桌面号 (注意桌面号是开启vnc时返回的那个数字(第8步)) 或 ip地址:端口号 (注意端口号是开启vnc时返回的那个数字(第8步).其实这个数字加上5900作为端口号),点击连接. (注意桌面号或端口号一定要)
在TightVNC中,只能输入ip地址:端口号
在按照提示输入你在第三部输入的vncserver的密码,成功进入远程桌面。
方法二:打开远程桌面连接
选择"sesman-Xvnc"-->输入"用户名和密码"(ubuntu用户的密码)-->回车,成功登录到Ubuntu 14.04桌面,现在可以进行远程操作了。(应该这个不行吧!?)
或者
选择 选择"vnc-any"-->输入"Ip地址和密码"(vncserver的密码)-->回车,成功登录到Ubuntu 14.04桌面,现在可以进行远程操作了。
10、若前面执行失败导致在VNC下看不到图形界面,鼠标变成"X"形状,请查看第七条是否执行过,同时将刚建过的VNCServer删掉,vncserver -kill :1(1代表前面启动的vncserver序号)
11、Ubuntu 10.10下增添了对Windows键的定义,在里面被定义为Super键,当用户在VNC下按下字母"d"时,会被错误的当做返回桌面的快捷方式导致d无法被输入,此时可修改快捷键方式来避免此bug,新打开一个终端,在里面输入:gconf-editor,这样会弹出一个对话框,到“Apps->Metacity->Global keybingdings"中找“show desktop”,将其默认值<Super>D改为<Ctl><Alt>D即可。
转载:http://www.cnblogs.com/ljjphysics/archive/2011/09/13/2175005.html
注:
问题一 vnc使用及注意事项
1、vnc view登录时提示 unable to connect to host:Connection refused(10061)
那么要设置被控机linux的远程桌面及防火墙 在http://blog.csdn.net/weivs929/article/details/6218624
防火墙可以添加vnc的端口或直接关闭。
3.Ubuntu上rdp配置(不同于VNC方式).
一、安装Xrdp
Windows远程桌面使用的是RDP协议,所以ubuntu上就要先安装Xrdp,在ubuntu软件中心搜索xrdp安装。
安装xrdp的同时会自动安装vnc4server,xbase-clients组件
或者终端命令行输入安装: sudo apt-get install xrdp vnc4server xbase-clients
二、配置xrdp设置
需要通过xrdp连接到桌面,需要正确配置相关信息并填充到.xsession文件(针对每个用户)或/etc/startwm.sh(针对所有用户),输入如下命令
echo unity>~/.xsession
或者
sudo sed -i.bak '/fi/a #xrdp multi-users \n unity \n' /etc/xrdp/startwm.sh
三、安装xfce4
$sudo apt-get install xfce4
或者
sudo apt-get install xubuntu-desktop 这个软件比较大,总计需要260M。
四、配置xfce4
echo "xfce4-session" >~/.xsession
创建.xsession文件并写入内容。
这样之后,网上很多做法就已经结束了,但是我使用远程桌面连接mstsc.exe连接的时候,仅仅显示connecting to sesman ip127.0.0.1之后就没有反映了,应该继续连接ok才对。这样,继续:
继续配置xfce4
sudo vi /etc/xrdp/startwm.sh
在. /etc/X11/Xsession前一行插入xfce4-session
或
sudo vim /etc/xrdp/startwm.sh 把最下面的test和exec两行注释掉,添加一行 gnome-session
重新启动xrdp
sudo service xrdp restart
五、windows下无法通过VNC客户端软件远程连接Ubuntu14.04的桌面解决方法:
VNC客户端不支持加密。任何连接到远程桌面共享服务器的尝试都将导致No matching security types
错误。也是靠这边的把 require encrytion 关闭 来解决的。
1、安装dconf-editor
sudo apt-get install dconf-editor
2、运行dconf-editor调整(注意一定要当前用户来运行,不能加sudo),并访问如下配置路径
$dconf-editor
org > gnome > desktop > remote-access ->require encrytion 关闭
或
dconf write /org/gnome/desktop/remote-access/require-encryption false
或
dbus-launch --exit-with-session dconf write /org/gnome/desktop/remote-access/require-encryption false 在上面那条不能用于ssh的情况下 跟下面的命令效果一样。
或
gsettings set org.gnome.Vino require-encryption false 跟上面的命令效果一样。 可用于Ubuntu 推荐!
GLib-GIO-Message: 10:19:43.137: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
可以先执行
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/
然后再执行。确认已禁用远程服务器上的加密
$ gsettings list-recursively org.gnome.Vino | grep encrypt
参见:https://www.jianshu.com/p/65f19e1c20d9 Ubuntu18.04.2LTS配置vnc+frp内网穿透实现桌面远程访问
或
使用tunnel 隧道技术来进行加密存取 这个我没试成功?
由于vnc是数据传输是明文,因此可以通过隧道技术来加密传输过程,在本地机器上执行如下命令:
在host上
ssh -L 5901:127.0.0.1:5901 -N -f -l username remoteIp
然后再打开VNC的客户端
3、/usr/lib/vino/vino-server --sm-disable start
4、see "settings --> sharing" again
六、vino-server方式的配置(跟vnc方式不同)
在/usr/share/applications目录下打开”桌面共享”(即 desktop sharing)选项,进一步设定
桌面共享选项中首先要开启共享,关于是否允许其他用户控制,远程连接时是否需要本机确认,远程连接的密码等项目根据需要自己设定。如果需要从公网即外部网络访问此ubuntu计算机,需要开启”自动配置UPnP路由器开放和转发端口项目”(这个在fedora 12中是“ 配置网络为自动接受连接”)。
选项“你必须确认任何对该计算机的访问”来手动确认每个远程连接。另外,另一个有用的安全特性是通过选项“需要用户输入密码”创建一个确定的共享密码。这样当用户每次想要访问你的桌面时需要知道并输入密码。
一般建议如下图:
如果是13.04的话,以上已经完成设置了.
或
settings-> Sharing->Screen Sharing:设置:
或
Ubuntu在命令行开启远程桌面 (在终端执行下列三个命令即可) 推荐!
gsettings set org.gnome.Vino enabled true 允许其他人查看您的桌面
gsettings set org.gnome.Vino view-only false 允许其他用户控制您的桌面
gsettings set org.gnome.Vino prompt-enabled false 关闭对本机器的每次访问进行确认
gsettings set org.gnome.Vino authentication-methods ['vnc'] 如果选中Require the user to enter this password,则修改为 org.gnome.Vino authentication-methods ['vnc'] 且会修改org.gnome.Vino vnc-password 'keyring'中的keyring为一个加密的东西
gsettings set org.gnome.Vino vnc-password 'keyring' 这个怎么设置??
gsettings set org.gnome.Vino use-upnp true 用于如果需要从公网即外部网络访问此ubuntu计算机
gsettings set org.gnome.Vino require-encryption false 等同于dbus-launch --exit-with-session dconf write /org/gnome/desktop/remote-access/require-encryption false
重启Ubuntu:
sudo reboot
七、启动VNCServer服务
sudo vncserver
或
/etc/init.d/vncserver
八、连接
方法1)xvnc方式 (但是,不需要开vnc4server) (我这种成功了!!!)
可以使用端口5900(这种都不需要安装vnc4server的,在Ubuntu上自带VINO(即自带的Desktop Sharing Preferences)) 这种最推荐,看到的也是最像本地操作的窗口。
也可以自定义,例如5901(用于开vnc4server的时候) 是本地操作的窗口的一个子集
在windows电脑上我们打开远程桌面,输入ubuntu电脑的IP地址,会出现如下画面,Module项目选择使用的协议,这里选择vnc-any,输入IP地址,端口不变(5900),你设定的密码,即可远程连接到ubuntu 14.04桌面,如下图:
此方法不需要再安装一个xface的桌面。
填写
在本机搜索remmina,点击NEW新建一个连接 , Protocol中选中VNC-Virtual Network Computing。
server中填写要连接的ip地址(ip地址端口5900),userName和password中分别填写连接的用户名和密码。
点击连接即可。
注意,要确保连接的机器是可以连接的。可以在桌面共享(Desktop Sharing)中进行配置
4.排错
# ps -ef | grep vnc
root 17330 1 0 16:18 pts/19 00:00:00 Xvnc4 :1 -desktop SPRITE-LINUX2:1 (root) -auth /root/.Xauthority -geometry 1280x1024 -depth 24 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -pn -fp /usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/Speedo/,/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/,/usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb -cc 4
关于灰屏+鼠标变X号:
因为vncserver找不到指定的图形化软件 例如nautilus等
0)这个可行的
# Uncomment the following two lines for normal desktop:
export XKL_XMODMAP_DISABLE=1
unset DBUS_SESSION_BUS_ADDRESS
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#xterm -bg wheat -sb -sl 4096 -geometry 100x24+0+0 -rightbar -fn "-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1" -e `pwd`/console.sh &
gnome-panel &
gnome-settings-daemon &
x-window-manager &
#gnome-session &
nautilus &
gnome-terminal &
1)
sudo update-alternatives --all
通过查找vnc关键字,查到:
There is only one alternative in link group vncconfig (providing /usr/bin/vncconfig): /usr/bin/vnc4config
Nothing to configure.
There are 2 choices for the alternative vncpasswd (providing /usr/bin/vncpasswd).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/vnc4passwd 75 auto mode
1 /usr/bin/tightvncpasswd 70 manual mode
2 /usr/bin/vnc4passwd 75 manual mode
There are 2 choices for the alternative vncserver (providing /usr/bin/vncserver).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/tightvncserver 70 auto mode
1 /usr/bin/tightvncserver 70 manual mode
2 /usr/bin/vnc4server 65 manual mode
There is only one alternative in link group x0vncserver (providing /usr/bin/x0vncserver): /usr/bin/x0vnc4server
Nothing to configure.
There are 2 choices for the alternative Xvnc (providing /usr/bin/Xvnc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/Xvnc4 75 auto mode
1 /usr/bin/Xtightvnc 70 manual mode
2 /usr/bin/Xvnc4 75 manual mode
红色部分是出问题的地方,因为另个vncserver打架了。删掉一个就行啦,sudo apt purge tightvncserver
2).重新启动下电脑,试一试。我就是各种配置之后,始终黑屏,重启电脑后OK。
3).sudo chmod a+x /etc/X11/xinit/xinitrc 在Ubuntu上有这个文件
这也是种办法,不知是否是这句话生效了
并确认/root/.vnc/xstartup是一个可执行文件,要确认是否有x权限
4)如果Linux本地端已经启用Gnome或KDE图形环境,当VNC客户端连接服务器后,可能会只显示灰屏,没有正常启用图形环境。查看~/.vnc下的日志时会提示错误:You are already running a session manager。
这时需要去掉xstartup文件中的
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
这两行前的#,再重启vncserver。如果Linux本地端是init 3模式,则不需要修改这两行。
5)
root@SPRITE-LINUX2:~# cat /root/.vnc/SPRITE-LINUX2:1.log 查看log文件,看看到底发生了什么错误 (这个是我的错误) 这种方法最好看到底哪里出问题了!!!
Xvnc Free Edition 4.1.1 - built Feb 25 2015 23:02:21
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
Underlying X server release 40300000, The XFree86 Project, Inc
Sun Dec 15 16:18:15 2019
vncext: VNC extension running!
vncext: Listening for VNC connections on port 5901
vncext: created VNC server for screen 0
error opening security policy file /etc/X11/xserver/SecurityPolicy 出现这个错误,无所谓。不影响vncserver
Could not init font path element /usr/X11R6/lib/X11/fonts/Type1/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/misc/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/75dpi/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/100dpi/, removing from list!
Could not init font path element /usr/share/fonts/X11/75dpi/, removing from list!
Could not init font path element /usr/share/fonts/X11/100dpi/, removing from list!
字体问题
原因:vncserver默认寻找的X系统的字体路径在/usr/X11R6/lib/X11/fonts/下,但RHEL5却在/usr /share/X11/fonts/下,Ubuntu10.10却在/usr/share/fonts/X11/下
解决:
方法1)
sudo apt-get install xvfb xfonts-100dpi xfonts-75dpi xfonts-cyrillic xorg dbus-x11
这个其实就是xfonts-100dpi xfonts-75dpi起了作用,但是只能把最后两条warning去掉。但是还是不能见到界面。
或
$sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
方法2)
RHEL5:
mkdir /usr/X11R6/lib
cd /usr/X11R6/lib
ln -s /usr/share/X11 X11
Ubuntu:
mkdir /usr/X11R6/lib/X11/
cd /usr/X11R6/lib/X11
ln -s /usr/share/fonts/X11/ fonts
6)
解决:
#yum grouplist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
已安装环境分组:
GNOME 桌面
可用的环境分组:
最小安装
基础设施服务器
计算节点
文件及打印服务器
基本网页服务器
虚拟化主机
带 GUI 的服务器
KDE Plasma Workspaces
开发及生成工作站
可用组:
传统 UNIX 兼容性
兼容性程序库
图形管理工具
安全性工具
开发工具
控制台互联网工具
智能卡支持
科学记数法支持
系统管理
系统管理工具
完成
安装GNOME桌面:
yum groupinstall "GNOME 桌面"
安装完成后
init 5
防火墙设置开放
iptables -I INPUT -p tcp --dport 5901 -j ACCEPT 客户端方式
iptables -I INPUT -p tcp --dport 5801 -j ACCEPT 浏览器方式
/etc/init.d/iptable save