1. 程式人生 > >Windows遠端登陸Linux桌面的方法(彙總大全)

Windows遠端登陸Linux桌面的方法(彙總大全)

Windows遠端登陸Linux桌面的方法

Putty

第一種:putty。其實這個工具並不是桌面客戶端,它只不過是一個遠端登陸Linux的命令提示工具,但是我們知道,在Linux中,命令基本上就是一切,所以用這個客戶端還是能夠做到你想要的任何事情。

不過很可惜,用命令你不能聊天,用命令你不能用瀏覽器上網,用命令你不能看電影,所以我們仍然需要圖形的桌面環境。

Cygwin

第二種:cygwin。這個工具能夠做很多事情,登陸Linux桌面只是其中一件。關於這個軟體的教程,網上有個達人已經寫的非常詳細了,詳情看這裡。這個工具在Linux端是不需要任何配置的。另外要說明的是,你的Linux桌面環境,如果是KDE,那麼開啟視窗的命令是startkde,如果你不裝這個,它會說你的命令無效;如果你裝的是Gnome,那麼應該使用的命令是gnome-session,詳情可以查閱

Gnome官方網站

Xming

第三種:Xming。我估計這是最簡單的登陸Linux桌面的方式了。可以到Xming的網站下載Xming軟體,因為是Windows軟體,所以安裝非常簡單。安裝完成後會有兩個快捷方式,一個是Xming,這個是做伺服器的,一個是XLaunch,當你啟動XLaunch的時候會自動啟動伺服器。

使用方法也是非常簡單的,雙擊XLaunch圖示開啟,選擇OneWindow-下一步-選擇Start a porgram -下一步-輸入gnome-session(或者startkde,取決於你的桌面軟體)-選擇Using PuTTY-輸入主機地址、使用者名稱和密碼-下一步-下一步-這時候可以選擇儲存一下快捷方式,以後就不用每次輸入了-下一步。完成了,這時候就可以看到桌面了。

開啟ssh服務

注:所有上述軟體都是幾乎SSh協議,如果Linux沒有開啟這個協議的話,那麼是無法連線到桌面的。可以用這樣的方法開啟SSh服務,在終端中輸入ntsysv命令,在開啟的視窗中找到SSHD服務,確保SSHD被選中,如果沒有則按空格選中,按確定退出:

telnet

1。基礎知識
linux提供服務是由執行在後臺的守護程式(daemon)來執行的。
守護程序的工作就是開啟1個埠(port),等待(listen)進入的連線。在C/S模式中,如果客戶提請了1個連線,守護程序就建立(fork)子程序來響應這個連線,而父程序繼續監聽其他服務的請求。
但是,對於系統所提供的每1個服務,如果都必須執行1個監聽某個埠連線發生的守護程式,那麼通常意味著系統資源的浪費。為此,引入“擴充套件的網路守護程序服務程式”xinetd(xinetd internet daemon)。telnet服務也是由xinetd守護的。

2。檢測telnet、telnet-server的rpm包是否安裝
OS:RedHat9

[

[email protected] root]#rpm -qa telnet
telnet-0.17-25
//telnet*.rpm是預設安裝的//
[[email protected] root]#rpm -qa telnet-server

//telnet*.rpm是預設沒有安裝的//

3。安裝telnet-server
第3張盤上有telnet-server-0.17-25.i386.rpm
[[email protected] root]#rpm -ivh telnet-server*.i386.rpm

4。修改telnet服務配置檔案
vi /etc/xinetd.d/telnet
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}

將disable=yes行前加#,或者改為disable=no
PS:
安裝telnet-server後,系統才有檔案/usr/sbin/in.telnetd

5。重新啟動xinetd守護程序
由於telnet服務也是由xinetd守護的,所以安裝完telnet-server,要啟動telnet服務就必須重新啟動xinetd
[[email protected] root]#service xinetd restart

[[email protected] root]#/etc/init.d/xinetd restart

6。關閉系統的防火牆
linux系統預設的防火牆是“high”

命令列介面CLI:
[[email protected] root]# setup
選擇:“firewall configuration”
選擇:security level——“no firewall”

7。測試
telnet IP


QUOTE:
Red Hat Linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686
login:
出現,就OK了!

8。telnet預設開機啟動
1)。命令ntsysv
找到telnet,用空格鍵啟用(*)服務
2)。命令chkconfig
chkconfig --add telnet
chkconfig telnet on
3)。圖形使用者介面GUI
redhat-conhat-config-services

“主選單”——“系統設定”——“伺服器設定”——“服務”



PS:
由於telnet登陸時是明文傳送密碼,所以不安全,建議使用ssh(secure shell)替代!
windows下一般用F-Secure SSH ,puttySSH

Xshell

Xshell 是一個強大的安全終端模擬軟體,它支援SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協議。Xshell 通過網際網路到遠端主機的安全連線以及它創新性的設計和特色幫助使用者在複雜的網路環境中享受他們的工作。

  Xshell 和SecureCRT的比較:

  Screen下的會話不會閃屏,而且可以回滾,這個功能太無敵了Script的執行順序可以調整,SecureCRT的這個功能實在太呆可以同時傳送指令到多個session,這個也不錯鍵盤對映的相容性要好一些,不用去自己改對映可以展現tunnel等的情況支援佈局切換,像gnome-terminal缺憾是對Unicode製表符支援不夠好,內建的sftp不怎麼好使(該公司有另外的xftp)許可相對便宜,對個人、教育使用者是免費的!XShell 和Putty& Pietty的比較:

  支援ZModem協議,putty雖有leputty據說可以實現,但我一直沒成功 :(Session儲存在檔案中而非登錄檔,管理方便支援tab、自定義指令碼、儲存密碼、多機管理…putty是自由軟體,和商用的XShell比較不是很合適。putty也有很多外掛可以實現部分有缺憾的功能,用起來會麻煩一些就是了。個人平常還是以putty為主,功能夠用,速度飛快。大量機器的管理還是XShell合適。

  注意,XShell在商業環境使用下是需要買許可的。

SecureCRT

基本定義

  SecureCRT是一款支援SSH(SSH1和SSH2)的終端模擬程式,同時支援Telnet和rlogin協議。SecureCRT是一款用於連線執行包括WindowsUNIX和VMS的遠端系統的理想工具。通過使用內含的VCP命令列程式可以進行加密檔案的傳輸。有流行CRTTelnet客戶機的所有特點,包括:自動註冊、對不同主機保持不同的特性、列印功能、顏色設定、可變螢幕尺寸、使用者定義的鍵點陣圖和優良的VT100,VT102,VT220和ANSI競爭.能從命令列中執行或從瀏覽器中執行.其它特點包括文字手稿、易於使用的工具條、使用者的鍵點陣圖編輯器、可定製的ANSI顏色等.SecureCRT的SSH協議支援DES,3DES和RC4密碼和密碼與RSA鑑別.

概念解釋

  SSH的英文全稱是 Secure Shell。

  傳統的網路服務程式,如:ftp 和telnet 在本質上都是不安全的,因為它們在網路上用明文傳送口令和資料別有用心的人非常容易就可以截獲這些口令和資料。而通過使用 SSH客戶端與伺服器端通訊時,使用者名稱及口令均進行了加密,有效防止了對口令的竊聽。同時通過 SSH的資料傳輸是經過壓縮的,所以可以提高資料的傳輸速度,既然如此我們為什麼不使用它呢。SSH是由客戶端和服務端的軟體組成的,有兩個不相容的版本分別是:1.x 和 2.x。至於具體如何安裝伺服器端,普通使用者就不需要關心了

putty

簡介

  Putty

  隨著Linux在伺服器端應用的普及,Linux系統管理越來越依賴於遠端。在各種遠

程登入工具中,Putty是

  出色的工具之一。

  Putty是一個免費的、Windows 32平臺下的telnet、rlogin和ssh客戶端,但是功能絲毫不遜色於商業的telnet類工具。

  用它來遠端管理Linux十分好用,其主要優點如下:

  ◆ 完全免費;

  ◆ 在Windows9x/NT/2000下執行的都非常好;

  ◆ 全面支援ssh1和ssh2;

  ◆ 綠色軟體,無需安裝,下載後在桌面建個快捷方式即可使用;

  ◆ 體積很小,僅364KB(0.54 beta版本);

  ◆ 操作簡單,所有的操作都在一個控制面板中實現。

操作指南

  使用簡介:

圖1 Putty配置介面

把Putty下載到機器上,雙擊putty.exe,就出現如圖1的配置介面。

  選擇“Session”,在“Host Name (or IP address)”輸入框中輸入欲訪問的主機名或IP,比如server1或192.168.9.4。埠號(Port)根據使用的協議有所區別,ssh預設使用22,telnet預設使用23,rlogin預設使用513。

  在“Protocol”單選欄中選擇使用的協議,一般是telnet或ssh,這取決於伺服器提供的服務。

  在“Saved Session”輸入欄中輸入任務的名字,單擊“Save”按鈕,就可以把任務配置儲存起來了。

  配置完成後單擊“Open”按鈕,出現如圖2的登入介面,就可以使用Putty連線Linux主機了。

圖2 使用Putty登入介面

pietty

PieTTY 是由林弘德(Hung-TeLin, piaip)以PuTTY 原始碼為基礎,在 Windows 上發展的 Telnet/SSH 安全遠端連執行緒式,修正與完整支援亞洲語系字元,可切換多種 Unicode 字元顯示方式,提供簡易 scp 上傳介面,並增加透明視窗、無邊框模式等視覺效果。PieTTY 與 PuTTY 同樣採用 MIT License,但 PieTTY 目前並沒有釋出原始碼,如果您有非常高度的安全需求,請自行斟酌是否使用 PieTTY。

VNC

VNC (Virtual Network Computing)是虛擬網路計算機的縮寫。VNC是一款優秀的遠端控制工具軟體,由著名的AT&T的歐洲研究實驗室開發的。VNC是在基於UNIX和Linux作業系統的免費的開放原始碼軟體,遠端控制能力強大,高效實用,其效能可以和Windows和MAC中的任何遠端控制軟體媲美。 在Linux中,VNC包括以下四各命令:vncserver,vncviewer,vncpasswd,和vncconnect。大多數情況下我只需要其中的兩個命令:vncserver和vncviewer。

簡介

  VNC基本上是屬於一種顯示系統,也就是說他能將完整的視窗介面通過網路,傳輸到另一臺計算機的螢幕上. Windows伺服器中包含的"Terminal Server"、Symantec公司開發的收費軟體PCAnywhere、近期流行的Teamviewer、國內的協通XT800、快遞通KDT都是屬於這種原理的設計,同時這些軟體又在VNC的原理基礎上做了各自相應改進,提高了易用性、連通率和可穿透內網(Teamviewer、協通XT800、KDT).

特點

  同樣可能遠端連入UNIX、Linux進行圖形化操作的還有流行的Xmanager,VNC與之相比——兩者工作原理不一樣,後者是遠端連入作業系統,所有操作在UNIX、Linux主機服務端進行,即使操作過程中“本地電腦與操作主機網路斷開”,也不影響操作的順利進行;而後者(Xmanager)是通過埠將主機伺服器的UI介面引導到本地電腦進行展現,如操作過程出現“本地電腦與操作主機網路斷開”,操作將中斷失敗!如果操作都進行的工作任務非常重要,不能中斷,如ORACLE RAC實施,結果是災難性的!更重要的是,VNC是免費的、開源的,Xmanager你一定是用的破解註冊版的。

組成部分

  VNC基本上是由兩部分組成:一部分是客戶端的應用程式(vncviewer);另外一部分是伺服器端的應用程式(vncserver)。VNC的基本執行原理和一些Windows下的遠端控制軟體很相象。VNC的伺服器端應用程式在UNIX和Linux作業系統中適應性很強,圖形使用者介面十分友好,看上去和Windows下的軟體介面也很類似。在任何安裝了客戶端的應用程式(vncviewer)的Linux平臺的計算機都能十分方便的和安裝了伺服器端的應用程式(vncserver)的計算機相互連線。另外,伺服器端 (vncserver)還內建了Java Web介面,這樣使用者通過伺服器端對其他計算機的操作就能通過Netscape顯示出來了,這樣的操作過程和顯示方式比較直觀方便。

命令描述

  vncserver

  此服務程式必須在在主(或遙控)計算機上執行。你只能作為使用者(不需要根使用者身份)使用此項服務。

  vncviewer

  本地應用程式,用於遠端接入執行vncserver的計算機並顯示其環境。你需要知道遠端計算機的IP地址和vncserver設定的密碼。

  vncpasswd

  vncserver的密碼設定工具。vncserver服務程式沒有設定密碼將不能執行(好習慣)。如果你沒有設定,執行vncserver時它會提示你輸入一個密碼。所以,一般我不會單獨執行這個命令來設定密碼。

  vncconnect

  告訴vncserver連線到遠端一個執行vncviewer的計算機的IP和埠號。這樣我就可以避免給其他人一個接入的密碼。

  Xvnc

  一個vnc“主控”程式,一般來說不需要直接執行。(vncserver和vncviewer實際上是Xvnc的指令碼)

  查詢所有可用的選項,執行:

  Xvnc --help

出於安全的考慮,一般不建議直接以超級使用者帳號執行vncserver程式。如果你需要超級使用者的環境,請以一般使用者登入後再使用su命令登入到超級使用者帳號。

Vnc配置(阿斌提供)

開啟ssh ,root登陸

sudo service  iptables stop

vncserver :1

關閉

開啟ssh,zzb登陸

vncserver :2

要關閉的話需先看清各自的使用者許可權

&——————————————————————————

環境:RedHat Linux 5企業版。

Xwindows:gnome (紅帽預設安裝的圖形介面)

儘管我們可以使用SSH連線遠端通過字元介面來操作Linux,但是對於更多熟悉圖形人來說是很不方便的,因此開啟Linux的遠端桌面還是很有必要的。目前有兩種比較流行的方式:XDM(X display manager)方案和VNC方案,而我個人比較傾向於VNC方案,一是因為VNC方案配置起來相對比較容易,二是VNC方案支援多種連線方式,比如通過瀏覽器訪問Linux桌面,免去需要安裝客戶端的麻煩。

接下來進入具體配置說明:

一,確認及安裝VNCSERVER。

1,首先確認你伺服器是否配置了VNCSERVER,可以在命令列下敲入以下命令檢視:

[[email protected]: ~]#rpm -qa |grep vnc

vnc-server-4.1.2-14.el5    #返回VNCSEVER伺服器端版本說明你已經安裝了VNCSERVER。

2,如果沒有安裝VNCSEVER,那麼從光碟找到安裝包進行安裝。

首先將光碟掛載(也叫解壓)到某個目錄這裡是在/var/ftp/pub/下面建立了rhel5-64目錄

mount -o looprhel-server-5.3-x86_64-dvd.iso /var/ftp/pub/rhel5-64/

然後在/var/ftp/pub/rhel5-64/Server目錄下找到vnc-server-4.1.2-14.el5.x86_64.rpm安裝包,使用RPM命令直接安裝;

rpm -ivh vnc-server-4.1.2-14.el5.x86_64.rpm

二,開始配置VNCSERVER

1,啟動VNCSERVER,第一次啟動VNCSERVER會提示輸入密碼,這裡分為管理員賬戶及普通賬戶,啟動方式略有所不同。

管理員:

[[email protected] /]# vncserver

You will require a password to access yourdesktops.

Password: 123456            #輸入vnc 連線密碼

Verify: 123456                 #確認vnc密碼

xauth: creating new authority file/root/.Xauthority

New ‘localhost.localdomain:1 (root)’desktop is localhost.localdomain:1

Creating default startup script/root/.vnc/xstartup

Starting applications specified in/root/.vnc/xstartup

Log file is/root/.vnc/localhost.localdomain:1.log

普通使用者:

[[email protected] /]#su leo    #leo 是使用者名稱

[[email protected] /]$ vncserver

You will require a password to access yourdesktops.

Password: 123456            #輸入vnc 連線密碼

Verify: 123456                 #確認vnc密碼

xauth: creating new authority file /home/leo/.Xauthority

New ‘localhost.localdomain:2 (leo)’ desktopis localhost.localdomain:2

Creating default startup script /home/leo/.vnc/xstartup

Starting applications specified in /home/leo/.vnc/xstartup

Log file is /home/leo/.vnc/localhost.localdomain:2.log

#這裡要注意:每個使用者都可以啟動自己的VNCSERVER遠端桌面,同時每個使用者可以啟動多個VNCSERVER遠端桌面,它們用ip加埠號:ip:1、ip:2、ip:3 來標識、區分,使用同一埠會使另外登入的使用者自動退出。另,VNCSERVER的大部分配置檔案及日誌檔案都在使用者home目錄下.vnc目錄下。

使用者可以自定義啟動號碼如:

[[email protected] /]$ vncserver :2        #注意:2前面一定要有空格。

A VNC server is already running as :2

三,相關桌面配置,RedHat Linux支援兩種圖形模式:KDE模式和gnome模式。

1,你的RH使用的什麼圖形模式這個一般只有登入到圖形介面檢視一下才能知道,或者通過ps -A命令列出所有當前執行的程式,看看有沒有KDE或者gnome字樣來判斷一下。

如果你是gnome桌面,那麼你需要修改/root/.vnc/xstartup的配置檔案。

[[email protected] .vnc]# vi xstartup

#!/bin/sh

# Uncomment the following two lines fornormal desktop:

# 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 &

xterm -geometry 80×24+10+10 -ls -title“$VNCDESKTOP Desktop” &

gnome-session gnome           #新增這一句是連線時使用gnome 桌面環境

twm &

設定修改完畢最好是重啟一次系統,否則設定不會生效。我採用的方法是殺死VNCSERVER程序再重執行VNCSERVER。

[[email protected] .vnc]#vncserver -kill:1      #這裡你啟動vncserver時是什麼埠號要對應上。

[[email protected] .vnc]#vncserver :1           #重啟VNCSERVER,注意:1前面一定要有空格。

2,設定使用者資訊及解析度。

[[email protected]: ~]#vi/etc/sysconfig/vncservers

# The VNCSERVERS variable is a list ofdisplay:user pairs.

#

# Uncomment the lines below to start a VNCserver on display :2

# as my ‘myusername’ (adjust this to yourown). You will also

# need to set a VNC password; run ‘manvncpasswd’ to see how

# to do that.

#

# DO NOT RUN THIS SERVICE if your localarea network is

# untrusted! For a secure way of using VNC,see

#<URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html >.

# Use “-nolisten tcp” to prevent Xconnections to your VNC server via TCP.

# Use “-nohttpd” to prevent web-based VNCclients connecting.

# Use “-localhost” to prevent remote VNCclients connecting except when

# doing so through a secure tunnel. See the“-via” option in the

# `man vncviewer’ manual page.

VNCSERVERS=”1:root 2:leo”            #此處新增使用者,一般只新增一個1:root也就行了。

VNCSERVERARGS[1]=”-geometry 800×600-nolisten tcp -nohttpd -localhost”

VNCSERVERARGS[2]=”-geometry 1024×768-nolisten tcp -nohttpd -localhost”

#注意:上面是分別設定的root和leo兩個使用者的解析度,注意是用埠號區分的。

另外也可以通過命令列臨時修改解析度及色深,這種方式重啟後就會丟失,這裡暫時用不到,命令如下:

[[email protected]: ~]#vncserver -geometry 800×600        #設定vncserver的解析度   

[[email protected]: ~]#vncserver -depth16           #設定vncserver的色深

到這裡VNCSERVER伺服器端就配置完成了。

四,客戶端連線及使用。

1,訪問方式

a、在linux下,執行vncviewer命令即可,伺服器地址的寫法形如192.168.1.11:1

b、在windows下,執行windows版本的vncviewer即可,用法與linux下相近。

c、用瀏覽器(平臺無關),作為javaapplet來實現,以形如http://192.168.1.11:5801 的方式來啟動 (vnc 埠從5800 開始依次類推,一般會是5800,5900)

以下為一些常識:

2,修改密碼

執行vncpasswd即可

3,停止vncserver

#vncserver -kill :1

#vncserver -kill :2

注意到vncserver只能由啟動它的使用者來關閉,即時是root也不能關閉其它使用者開啟的vncserver,只能用kill命令暴力殺死程序。

4,穩定性設定

vncserver預設在多個客戶機連線同一個vncserver的顯示埠時,vncserver埠舊連線,而為新連線服務,可通過-dontdisconnect拒絕新連線請求而保持舊的連線。

5,同一個顯示器可以連線多個客戶機

#vncserver -alwaysshared

6,重啟服務

service vncserver restart

7,讓系統啟動時自動啟動VNCSERVER。

使用VNC連線登入到RedHat Linux圖形介面,點選“系統”——“管理”——“伺服器設定”——“服務”,在“後臺服務”中找到VNCSERVER後勾選它,點選儲存即可。

解決連線不上問題的方法:

1、防火牆開啟  不能連線

關閉防火牆    service  iptables stop

檢視防火牆狀態   service iptables status

檢視程序     ps axf | grepvnc/iptables

XManager

 Xmanager 是全新標準的跨平臺整合解決方案。它是一個一站式解決方案,這個軟體包含有以下一些產品:Xmanager3D(OpenGL),Xshell,Xftp和Xlpd。

  Xmanager PCX Server

  Xmanager是一個運行於MS Windows平臺上的高效能的X window伺服器。你可以在你的本地PC上同時執行Unix/Linux和Windows圖形應用程式

  Xshell

  Xshell是一個用於MS Windows平臺的強大的SSH,TELNET,和RLOGIN終端模擬軟體。它使得使用者能輕鬆和安全地從WindowsPC上訪問Unix/Linux主機。

  Xftp

  Xftp是一個用於MS Windows平臺的強大的FTP和SFTP檔案傳輸程式。Xftp讓你能安全地在Unix/Linux和Windows PC之間傳輸檔案。

  Xlpd

  Xlpd是一個用於MS Windows平臺的LPD(行式印表機虛擬後臺程式)應用程式。安裝了Xlpd後,你的帶有印表機的本地PC就成為了一個列印伺服器,來自不同遠端系統的列印任務都能在網路環境中得到請求和處理。(共享軟體)

  Xstart

  Xstart是一個視窗化的登陸介面,要求填入session,host,protocol,user name, password。可進行遠端登陸。

Xmanager 配置

我用的是RedHat Enterprise Linux 5.4和最新的Xmanager Enterprise3.0。首先先來了解一下什麼是Xmanager。Xmanager全稱Netsarang Xmanager,是國外一套非常優秀的遠端監控軟體。在UNIX/Linux和Windows網路環境中,Xmanager是最好的連通解決方案。我推薦大家下載Enterprise版本,企業版帶的工具更多功能更強大。我們通過Xmanager連線Linux遠端桌面進行圖形化管理其實就是利用了Xmanager套裝裡面的Xbrowser程式。當然Linux遠端圖形化管理除了Xbrowser,還有同樣優秀的VNC。下面介紹用Xbrowser連線Linux遠端桌面的詳細配置。都是我親自測試過的,放心往下看吧!

一、如果你查過網上的資料你就會發現:RedHatEnterprise Linux 5與RedHatEnterprise Linux 4對於Xmanager的配置是不同的,前者沒有/etc/X11/gdm/這個目錄,它的gdm的配置檔案放在/usr/share/gdm/custom.conf。

其實網上的寫錯了!!這裡不是custom.conf,而是defaults.conf!反正我的RedHatEnterprise Linux 5.4是這樣的,可能其它5系列版本不一樣也沒數的。

在/usr/share/gdm/defaults.conf裡確保有以下幾句配置(我在最後面直接加了這幾句):

Enable=true
DisplaysPerHost=10
Port=177

二、在/etc/inittab裡把預設級別改為5:
id:5:initdefault:

再把最後一句裡
x:5:respawn:/etc/X11/prefdm -nodaemon
改成
x:5:respawn:/usr/sbin/gdm(注意這裡是sbin,不是bin,網上的又錯了,害得我前幾次都沒能成功,媽的!還好我後來自己發現了這個問題。)

三、讓Root登陸Xmanager

以上修改之後,root使用者還不能通過Xmanager遠端登入Linux,還要繼續修改/usr/share/gdm/defaults.conf檔案,在[security]欄位裡開啟以下兩項:
AllowRoot=true
AllowRemoteRoot=true
我發現AllowRemoteRoot這一項可以不開啟,看我的配置,它還是false,如下圖:

四、開啟Linux防火牆的177 UDP埠。

Xmanager連線gdm用的是UDP的177埠,所以防火牆上一定要開啟這個埠,如下圖:

  最後是重啟系統。這樣就小功告成了!在Windows系統上執行xmanager3裡的Xbrowser程式,在裡面新建一個Xmanager Session,在Host這裡輸入ip地址,其它配置都不要改變(包括埠號),確定退出。

  然後雙擊這個New Xmanager Session,進入登入介面,輸入使用者名稱和密碼以後就可以登入到Linux的遠端桌面了。

  最後再給大家幾個用於檢測和測試的Linux命令:

lsof -i:177
檢視是否執行成功了!

etc/hosts
檢視ip。有的時候連線不上可能是因為你的hosts檔案裡配置的IP地址不對。

/usr/sbin/gdm-restart
重啟gdm。

Xming + PuTTY 在Windows下遠端Linux主機使用圖形介面的程式

2008-04-1813:31

一、原理
Linux/Unix的X Window具有網路透明性。X Window系統裡有一個統一的Server來負責各個程式與顯示器、鍵盤和滑鼠等輸入輸出裝置的互動,每個有GUI的應用程式都通過網路協議與Server進行互動。所以對於任何一個應用程式,本地執行和遠端執行的差別僅僅是X Server的地址不同,別的沒有差別。所以在Windows執行一個X Server,就可以很方便的遠端執行有GUI的Linux應用了。同時,OpenSSH具有X轉發功能,可以將Linux主機的X程式通過SSH的管道轉發給客戶端。於是,通過PuTTY到主機,再將接收到的由主機轉發來的X程式的互動交給在本地Windows系統下執行的X Server來管理和顯示,原則上說,這就可以實現遠端使用Linux的GUI程式。

主機上需要的配置:
#vi /etc/ssh/sshd_config
取消這一行的註釋——如果沒有這一行則手動新增之:
X11Forwrding yes
這樣配置的作用就是允許SSH的X轉發。其實本質上說,這樣做是有一定安全風險的,SSH並不能絕對的保證你資料的安全性,不過,一般情況下,這也夠了。

二、安裝Xming
需要在本地Windows上執行一個X Server。選擇有很多:Cygwin下的X Server恐怕是最著名的,但是為了這麼一個小小的事情去安裝一個“相對巨大”的Cygwin,似乎有些誇張;除了Cygwin,還有兩個著名的商業軟體可以選用,Xwin32和Xmanager,上學期IC實驗用的就是Xmanager,感覺很流暢很好用,不過,雖然Xmanager可以試用,但是終究還是商業軟體;還有一個選擇,就是這裡要講的,開源軟體Xming。

Xming是一個配置簡單而功能強大的開源X Server,可以執行在M$的XP/2003/Vista作業系統下。
Xming的主頁:http://www.straightrunning.com/XmingNotes/
Xming的SourceForge頁面:http://sourceforge.net/projects/xming/

從SourceForge下載Xming-setup.exe(最新的版本是6.9.0.31),在本地安裝。
第一次執行時使用開始選單裡面的XLaunch來啟動,產生一個初始的配置檔案。對於簡單的使用來說,不需要任何特殊的配置,一切使用預設即可。Xming的具體配置和使用可以參考Xming的Manual
需要記住的是下圖中標示出的“Display number”中的數字,此處使用預設的0。

啟動完成後,在托盤區會出現一個“X”形狀的圖示,這表示Xming已經在運行了,將滑鼠懸停上去,能看到當前使用的“Display number”。

三、配置PuTTY
Windows下有很多支援SSH/Telnet等遠端登入協議的客戶端,比如SecureCRT、XShell、PuTTY等,甚至大家用來登入BBS灌水用的FTerm都帶有SSH的功能,只不過不如PuTTY這樣的軟體專業和強大罷了。

我用的是著名的免費的PuTTY,相信很多人的選擇也跟我一樣。因此,就不再贅述PuTTY的配置和使用了。這裡要說的,是新增PuTTY對X轉發的支援。執行PuTTY,在配置介面,選擇“Connection-SSh-X11”,選中“Enable X11forwarding”,“X display location”中填上上一步中“Display number”中的數字(此處就是“localhost:0”)。


然後連線登入遠端主機,看上去一切正常的樣子。

四、問題及解決之道
於是試著執行一下emacs吧!
嘿!圖形介面果然出來了,只是,咋看不到文字,全是些方塊啊?!

看看終端的輸出資訊:
-bash-2.05b$ emacs
Warning: Cannot convert string "-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*" to type FontStruct
Warning: Cannot convert string "-*-helvetica-medium-r-*--*-120-*-*-*-*-iso8859-1" to type FontStruct
哦,原來是Xming沒有相應的字型!
去Xming的主頁查查manual,可以為Xming新增Windows的系統字型,也可以使用Xming提供的字型。

使用Xming提供的字型是很簡單的,從Xming的SourceForge頁面下載xming-fonts-setup.exe(最新版本是7.3.0.15),安裝到Xming的安裝路徑下即可。我的Xming安裝路徑是D:\Program\Xming\,則安裝字型之後的字型路徑就是D:\Program\Xming\fonts\。經測試,這樣安裝字型後,執行emacs字型能正常顯示了。

如果不想安裝字型,自然也可以讓Xming使用Windows的系統字型。可是怎麼配置呢?
還記得Linux下是怎麼新增字型的麼?對了,要為字型生成cache檔案,使用的工具就是mkfontscale。
為此,從Xming的SourceForge頁面下載Xming-tools-and-clients,解壓縮到Xming的安裝路徑。切換到Windows的的cmd(命令提示符),cd到Xming的目錄,執行以下命令:
>mkfontscale C:/WINDOWS/Fonts
>mkfontscale -b -s -l C:/WINDOWS/Fonts   #ignore the 'Couldn't...fon' messages
然後編輯|Xming安裝路徑下的font-dirs檔案,新增字型路徑:
C:\WINDOWS\Fonts
記住:雖然是在Windows下,注意區分大小寫仍然是個好習慣。

OK!再來試試,嘿,這下子emacs是不是正常多了呢?



小小的Tips:用你的防火牆阻止Xming訪問網路。因為,這樣的一個X Server本質是不安全的,而且,你並不需要它聯網,因為你只是在本機使用而已。

感受:Xming總體來說還是不如Xmanager,執行的流暢程度還是有不小的差距,尤其是滑鼠的移動,感覺一頓一頓的,縱然是在區域網內,情況也沒有好特別多。

在windows上訪問linux有多種方法:

對於習慣使用命令列的人來說,可以使用終端的方式進行訪問,也就是通過telnet, ssh等方法遠端登入到linux主機,對其進行訪問。至於登入軟體,既可以使用windows自帶的命令列介面,也可以使用專門的終端軟體,例如putty, secureCRT等。其中putty是免費軟體,而secureCRT並不是。

對於習慣使用圖形介面的人來說,更希望以圖形介面的方式來訪問linux主機。主要有以下幾種方法:

·        在windows上提供一個X server,linux主機上X client程式通過XDMCP協議 (X Display Manager Control Protocol)使自己顯示在windows上。

今天我主要介紹第二種方法。

有很多軟體在windows上實現了X server的功能,例如XmanagerHummingbirdExceedcygwinX server,以及XmingX Server for Windows。前兩個都是商業軟體,需要付費使用;cygwin和Xming是免費軟體。本文主要介紹如何使用cygwin X實現Linux的遠端桌面。關於Xming X server的使用請參見其主頁。

先調動一下大家的積極性,看看最終的效果圖:

[ 背景知識 ]

網路上有很多關於X的背景知識,如果你想對X瞭解的深入一些,去網上搜索一下吧。

這裡是王垠寫的”理解Xwindow“,介紹了X server, X client, 視窗管理器,桌面環境相關的知識,讀一下對理解本文也有幫助。

好了,現在我們開始配置。

[ 安裝cygwin ]

Cygwin專案的目的是在windows主機上提供一個類UNIX的環境,網路也有很多相關的資料。大家可以看一下這一篇:Cygwin使用指南,這篇文章在網路上流行比較廣,作者未知,上面提供的僅是其中一個連結。

如果你的計算機上還沒有cygwin,首先需要安裝它。

這個過程很簡單,先到cygwin的主頁去下載setup.exe,然後使用setup.exe進行安裝。在安裝的過程中需要選擇要安裝的元件,此時需要把X server元件選上。

這裡有一個安裝指南,雖然是英文的,不過看抓圖就可以了。

選擇X server元件時,其實只需要選擇xorg-x11-base,選中它之後,其它相關元件會自動被選中。

在安裝cygwin時,記得把expect這個軟體裝上,它位於interpreters類別下面。我會在後面的章節中說明為什麼要安裝這個元件。

[ 執行cygwin X server]

在執行X server前,先假定一下我們的組網。

我們假設X server執行在一臺windows XP計算機上,此機器的IP地址是192.168.190.91。

我們的Linux主機上將執行X client程式,它的IP地址是192.168.190.15。

在你的安裝目錄中找到c:\cygwin\usr\X11R6\bin\startxwin.bat(假設你把cygwin安裝在c:\cygwin目錄),雙擊它就會啟動X server,同時會啟動一個終端(這個終端執行在Windows本地),效果如下圖:

現在,我們要允許遠端的X client對X server進行訪問,因此,在終端中輸入下面的命令,

xhost + 192.168.190.15

接下來,我們要到X client所在的計算機上進行配置,使用telnet或ssh登入Linux主機(192.168.190.15),然後執行下面的命令,

export DISPLAY=192.168.190.91:0.0

xterm &

gvim &

上面第一條命令設定DISPLAY變數,它表示X客戶端將使用192.168.190.91上的0.0來顯示自己。192.168.190.91是執行cygwin X server的Windows計算機(它的防火牆要開啟X server所監聽的埠,通常為6000)。

後面兩條命令則在Linux主機上(192.168.190.15)啟動了兩個程式,一個是xterm,另外一個是gvim,我們發現這兩個程式啟動後,並沒有顯示在Linux主機上,相反,它們顯示在了windows主機上。下圖是執行完上述命令的效果圖,我使用putty遠端登入到Linux主機上,然後執行上述命令:

用這種方法,你可以在Linux主機上執行任何圖形程式,並把它顯示到windows上。

如果你想把諸如KDE、GNOME這樣的桌面環境也顯示到windows上,就需要做些調整。

[ 執行桌面環境 ]

在此我以KDE桌面為例。要把KDE桌面環境顯示到windows上的X server中,需要更改一下X server的啟動批處理。

首先備份一下c:\cygwin\usr\X11R6\bin\startxwin.bat,然後使用文字編輯器開啟此檔案,找到下面這行:

%RUN% XWin -multiwindow -clipboard -silent-dup-error

去掉”-multiwindow“引數:

%RUN% XWin -clipboard -silent-dup-error

我們通常不需要啟動一個xterm視窗,因此找到下面這行:

%RUN% xterm -e /usr/bin/bash –l

把它註釋掉:

REM %RUN% xterm -e /usr/bin/bash –l

好了,批處理檔案改完了。

回想一下上面的操作,在啟動了X server後,我們執行了xhost命令來設定允許哪些計算機連線到X server,現在我們可以在配置檔案中設定它。開啟一個cygwin視窗,輸入下面的命令:

echo "192.168.190.15" >> /etc/X0.hosts

上面的命令會在/etc/X0.hosts檔案中加入你想允許的X client,你可以在此檔案中加入你的X客戶端。因為我們使用的DISPLAY是0,所以在檔案/etc/X0.hosts中增加;如果使用DISPLAY 1,則需要修改檔案/etc/X1.hosts檔案。現在啟動X server後,192.168.190.15就被自動允許接入了。

現在我們再次雙擊startxwin.bat批處理,執行後就會出現一個醜陋的空白視窗,這就是所謂的根視窗。之所以是空白的,是因為現在還沒有執行任何視窗管理器。別急,我們使用telnet或ssh遠端登入Linux主機,執行命令:

startkde &

哈哈~~~本文開頭所展示的KDE窗口出來了!!!現在你在KDE中執行任何程式,它們都執行在Linux主機上,卻把結果顯示在Windows主機上。

[ 建立快捷方式 ]

在上面的操作中,啟動X server後,需要使用telnet或ssh登入到Linux主機,才能啟動自己想要的X client程式,有沒有更簡單的方法?

現在我們就需要用到expect軟體了。這是一個如此有用的軟體,以至於我忍不住要在這裡插一段廣告。

Expect為使用者提供一種機制,使使用者能夠自動執行一些互動式的任務。例如,通常我們在使用telnet的時候,都需要手動輸入使用者名稱、密碼才能登入。而使用Expect,我們就可以實現全自動的telnet互動,不需使用者干預。Expect由Don Libes開發,基於TCL核心,它的主頁在http://expect.nist.gov/

廣告時間結束,我們繼續。我使用expect編寫了如下的TCL/EXPECT指令碼,它可以使用ssh自動登入到指定Linux主機,然後啟動我們需要的程式。程式如下:

#! /bin/expect -f

# Change these variable to yours

set user {easwy}

set host {192.168.190.15}

set xserver {192.168.190.91}

set password {123456}

set program {startkde}

set timeout 5

set done 0

spawn ssh "[email protected]$host"

while {!$done} {

    expect {

        "*(yes/no)?*"{

            # If the 1st timerun ssh, it will prompt continue or not

            # answer yes

            exp_send"yes\n"

        }

        "assword*" {

            # Answer password

            exp_send"$password\n"

        }

        "\$*" {

            # Exit the loop

            incr done

        }

        "#*" {

            # Exit the loop

            incr done

        }

        timeout {

            # Timeout

            exp_send_user"Login timeout, please check!"

        }

    }

}

# Set DISPLAY environment variable

exp_send "export DISPLAY=$xserver:0\n"

# Start your program

exp_send "nohup $program &\n"

expect -regexp {\[[0-9]*\] [0-9]*}

exp_send "\n"

# Finished

把上面的內容儲存為一個檔案,例如,儲存為cygwin的~/login.exp。注意:把指令碼起始處的5個變數替換成你自己的,只需要替換大括號中間的內容。使用telnet的朋友請自行修改此指令碼。

下面我們再改一下c:\cygwin\usr\X11R6\bin\startxwin.bat檔案,在此檔案的最後增加:

REM Start your X client program

%CYGWIN_ROOT%\bin\run -p /bin expect -f ~/login.exp

我們使用expect來執行剛才儲存的~/login.exp。

現在,我們右擊startxwin.bat檔案,選擇“傳送到桌面快捷方式”。以後,只要你雙擊此快捷方式,就能立刻在Windows上使用Linux主機上的程式了。

我們再來看一個有趣的例子。

在上圖中共開了三個終端,它們分別執行在不同的主機上,卻都在Windows主機上進行輸入輸出。這就是X window的魅力了,如果你願意,你還可以把其它Windows及Linux主機上的程式顯示到這個X server中,正所謂一”橋”飛架南北,天塹變通途。

在本文完成後,經網友jiachunyu介紹,才知道有一個名為XWinLogon的軟體,它也是使用cygwin的X server實現Linux的遠端桌面。相比之下,它的安裝和使用都簡單了很多。這個軟體的主頁在:http://sourceforge.net/projects/xwinlogon/

或者

有興趣可以試一下。

上述方法大多經過試驗。

如果各位有更好的方法,請告訴我一聲。

相關推薦

Windows遠端登陸Linux桌面方法彙總大全

Windows遠端登陸Linux桌面的方法Putty第一種:putty。其實這個工具並不是桌面客戶端,它只不過是一個遠端登陸Linux的命令提示工具,但是我們知道,在Linux中,命令基本上就是一切,所以用這個客戶端還是能夠做到你想要的任何事情。不過很可惜,用命令你不能聊天,

【轉】Windows遠端登陸Linux桌面方法

前段時間一直在做Linux的遠端桌面,於是想了很多的方法,現在看來,這實在是太簡單了。這裡介紹幾種簡單的方法。 第一種:putty。其實這個工具並不是桌面客戶端,它只不過是一個遠端登陸Linux的命

用vnc實現windows遠端連線linux桌面

網路遙控技術是指由一部計算機(主控端)去控制另一部計算機(被控端),而且當主控端在控制端時,就如同使用者親自坐在被控端前操作一樣,可以執行被控端的應用程式,及使用被控端的系統資源。 VNC(Virtual Network Computing)是一套由AT&T實驗室所開發的可操控遠端的計算機的軟體,其

Windows遠端連線Linux桌面

本測試使用的是Ubuntu,因unity桌面有點大,遠端帶起有點慢,所以換用xfce4桌面,順利地實現遠端多使用者桌面使用無壓力。 先安裝好xrdp、vnc4server、xfce4: sudo apt install xrdp sudo apt install vnc4

windows遠端訪問樹莓派方法+樹莓派啟動方法

1.給樹莓派上電(usb鍵鼠,hdmi顯示器,網線等全部連線好) 2.輸入使用者名稱 3.輸入密碼 4.輸入sudo apt-get install xrdp(這個只需安裝一次即可) 5.輸入xrdp,配置ip 6.輸入ip addr,檢視當前ip 7.windows上用m

windows遠端獲取linux桌面(windows遠端桌面+xrdp服務)

實驗環境 windows 10 獲取centos桌面 (windows不需要安裝額外的軟體,直接使用windows自帶的遠端桌面即可) centos 1.安裝xrdp # sudo yum install xrdp 2.開啟xrdp服務,並設

Linux 基礎命令收藏大全

linux系統檔案結構 / 根目錄 /bin 存放必要的命令 /boot 存放核心以及啟動所需的檔案 /dev 存放裝置檔案 /etc 存放系統配置檔案 /home 普通使用者的宿主目錄,使用者資料存放在其主目錄中lib 存放必要 的執行庫 /mnt 存放臨時的對映檔

windows遠端訪問linux桌面的配置方法

windows遠端訪問linux桌面的配置方法: 1、需要給linux安裝一個工具:xrdp工具     yum install xrdp     yum install tigervnc-server     service xr

Windows遠端連線Linux介面的兩種方法

使用VNC連線,最簡單. 首先在linux端鍵入命令安裝vncserver #yum -y install vnc *vnc-server* 然後鍵入命令設定vncserver密碼 #vncpasswd 然後鍵入命令來檢視當前的vncserver埠 #vncserver 可以看

windows遠端連線Linux桌面

在windows下使用vnc viewer遠端連線Linux桌面,主要配置步驟: Linux: 1.rpm -qa vnc //檢視是否安裝vnc服務,如果沒有安裝,可以使用yum,或者rpm進行安裝 2.修改配置檔案: vim /etc/sysconfig/vncse

Windows遠端訪問Opensuse桌面的兩種方法

轉自:http://networking.ctocio.com.cn/332/11902332.shtm 系統環境:有兩臺電腦,一臺電腦安裝了Windows作業系統,另外一臺安裝了Opensuse Enterprise Linux,現在我要想讓Windows能夠遠端訪問

***在Linux環境下mysql的root密碼忘記解決方法三種-推薦第三種

href containe 完全 mys init.d 操作 root ubunt upd MySQL密碼的恢復方法之一 1.首先確認服務器出於安全的狀態,也就是沒有人能夠任意地連接MySQL數據庫。 因為在重新設置MySQL的root密碼的期間,MySQL數據庫完全出於沒

Windows下食用Linux工作環境WSL

aliyun 命令行 阿裏 一次 問題 turn ins 習慣性 不必要 在Windows下食用Linux工作環境(WSL) 為什麽要這麽瞎搞呢?因為最近換了個硬盤,搞了個雙系統,然後習慣性地按下 Ctrl+Alt+T 發現什麽都沒有召喚出來,然後忽然想起換了系統。 然

Linux】SSH證書免密碼遠端登陸Linux(Putty)

1、前言   新購置一臺便宜伺服器做資料庫伺服器,減輕Web伺服器的壓力。   為了安全性,root密碼設定的非常複雜(隨機生成),厭倦了拷貝密碼登陸的歷史。   Putty基本用法都不會的請先花10分鐘自行學習。 2、開始   1、用PuTTY SSH 金鑰生成工具puttygen.exe生成金鑰

Linux下,為應用程式新增桌面圖示ubuntu18.4

一、桌面圖示位置 Lniux下桌面圖示儲存路徑為:/usr/share/applications   二、桌面圖示格式 所有桌面圖示格式均為desktop,即名為XXX.desktop   三、編輯內容(常用) // 檔案頭(必須) [Desktop Entry] /

windows圖形圖像桌面消失誤刪.net組件

shu dism 也會 line 桌面 cor bsp 消失 空格 核心模式core 變回完整模式 Full,用dism命令,具體命令如下 dism /online /enable-feature /all /featurename:servercore-fullserve

設備唯一標識方法Unique Identifier:如何在Windows系統上獲取設備的唯一標識 zz

machine 安裝 ren 常用 安全 name system 需要 dmi 原文地址:http://www.vonwei.com/post/UniqueDeviceIDforWindows.html 唯一的標識一個設備是一個基本功能,可以擁有很多應

裝置唯一標識方法Unique Identifier:如何在Windows系統上獲取裝置的唯一標識 zz

原文地址:http://www.vonwei.com/post/UniqueDeviceIDforWindows.html          唯一的標識一個裝置是一個基本功能,可以擁有很多應用場景,比如軟體授權(如何保證你的軟體在授權後才能在特定機

java訪問windows遠端共享檔案的方法

沒密碼的,直接用url訪問就可以了,跟本地檔案相同。 有密碼的,用smb。 遠端需要開啟smb。   win10啟動smb的方法:https://jingyan.baidu.com/article/47a29f2477fb56c014239996.html 注意,配完必須要重啟window

JAVA中執行緒同步的方法7種彙總

同步的方法: 一、同步方法   即有synchronized關鍵字修飾的方法。 由於java的每個物件都有一個內建鎖,當用此關鍵字修飾方法時, 內建鎖會保護整個方法。在呼叫該方法前,需要獲得內建鎖,否則就處於阻塞狀態。 注: synchronized關鍵字也可以修飾靜態