VNC FOR AIX 灰屏的問題解決

zhulch發表於2008-09-09
幫朋友 一起解決 的[@more@]


錯誤資訊:
可以登陸上去,但不出現圖形截面
並且日誌中有如下錯誤

VNC的Warning:
Name: Copy
Class: XmPushButtonGadget
2054-429 Illegal mnemonic character. Could not convert X KEYSYM to a keycode.

安裝VNC for AIX
在AIX上首先需要安裝下列fileset:
X11.fnt.coreX
X11.fnt.defaultFonts
X11.fnt.fontServer
X11.fnt.iso1
X11.fnt.ucs.cjk
X11.fnt.ucs.ttf
X11.fnt.ucs.ttf_CN
X11.Dt.rte
rpm.rte
IBM AIX Toolbox for Linux Applications中已經包括了VNC軟體包,可以在AIX 5L系統上直接安裝。下載地址:

或者直接下載rpm包:vnc-3.3.3r2-3.aix5.1.ppc.rpm
在AIX系統上使用rpm命令來安裝:
# rpm -ivh vnc-3.3.3r2-3.aix5.1.ppc.rpm
[edit]配置VNC
首先需要編輯VNC server的啟動指令碼,執行以下命令:
# cd /opt/freeware/bin
# chmod u+w vnc*
# vi vncserver
搜尋字串“-fp”,找到下面這一行:
# $cmd .= " -fp /usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/";
將該行開頭的#刪除並改為:
$cmd .= " -ac -fp /usr/lib/X11/fonts/,/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/";
注意引號和-ac之間有一個空格。再找到
$vncClasses = "/usr/local/vnc/classes";
改為
$vncClasses = "/opt/freeware/vnc/classes";
儲存退出vi。
然後以需要使用VNC的使用者身份執行一次vncserver命令來設定VNC密碼。例如需要以root使用者來連線(從安全形度考慮不推薦root使用VNC,這裡只是舉例說明),第一次啟動vncserver時建立密碼,
# vncserver :1
You will require a password to access your desktops.
Password: Verify: 然後再次執行同樣的命令來建立VNC的啟動配置:
# vncserver :1
1356-364 xauth: creating new authority file //.Xauthority
New 'X' desktop is 192:1
Creating default startup script //.vnc/xstartup
Starting applications specified in //.vnc/xstartup
Log file is //.vnc/192:1.log
然後編輯~/.vnc/xstartup指令碼,將最後一行改為:
/usr/dt/bin/dtsession &
[edit]啟動並連線VNC
需要使用VNC時,直接以需要以VNC進行連線的使用者身份執行vncserver命令:
# vncserver :1
稍等vncserver列印出資訊並退出到命令提示符之後就可以使用VNC客戶端來連線了。
VNC客戶端推薦使用TightVNC或者UltraVNC,下載地址:

啟動VNC客戶端之後輸入AIX伺服器的VNC連線地址,形式為:
:1
例如AIX伺服器地址為192.168.0.10,則連線地址為192.168.0.10:1

以上操作完畢可以登陸上去,但不出現圖形截面
並且日誌中有如下錯誤

VNC的Warning:
Name: Copy
Class: XmPushButtonGadget
2054-429 Illegal mnemonic character. Could not convert X KEYSYM to a keycode.

解決過程
- 卸掉安裝的包
# rpm -q vnc*
package vnc-3.3.3r2-3.aix5.1.ppc.rpm is not installed
# rpm -qa|grep vnc
vnc-3.3.3r2-3
# rpm -e vnc-3.3.3r2-3
# rpm -qa|grep vnc^H
# rpm -qa|grep vnc

- 重新安裝新的另外的包

cd /d01/vnc4aix
smitty
Software Installation and Maintenance
Install and Update Software
Install Software
INPUT device / directory for software [./]
PREVIEW only? (install operation will NOT occur) no
ACCEPT new license agreements? yes
然後回車開始安裝.安裝完成後推出.
cd /etc/
vi en*
在PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java131/jre/bin:/usr/java131/bin後加入:/usr/local/bin
儲存退出.重新登陸
vncsever 回車 輸入密碼
在vncserver啟動vnc

以上的操作完畢後,還是不可以,重新下面的操作

安裝VNC for AIX

1.IBM AIX Toolbox for Linux Applications中已經包括了VNC軟體包,可以在AIX 5L系統上直接安裝。下載地址:

或者直接下載rpm包:vnc-3.3.3r2-3.aix5.1.ppc.rpm
在AIX系統上使用rpm命令來安裝:
# rpm -ivh vnc-3.3.3r2-3.aix5.1.ppc.rpm
2.[edit]配置VNC
2.1 首先需要編輯VNC server的啟動指令碼,執行以下命令:
# cd /opt/freeware/bin
# chmod 755 vncserver
# vi vncserver
搜尋字串“-fp”,找到下面這一行:
# $cmd .= " -fp /usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/";
將該行開頭的#刪除並改為:
$cmd .= " -ac -fp /usr/lib/X11/fonts/,/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/";
注意引號和-ac之間有一個空格。再找到
$vncClasses = "/usr/local/vnc/classes";
改為
$vncClasses = "/opt/freeware/vnc/classes";(改這個與是否能用WEB方式訪問有關)
儲存退出vi。
2.2 由於預設VNC安裝路徑為 “/opt/freeware/bin”.
將 “/opt/freeware/bin” 新增到$PATH環境中。
cd /etc/
vi en*
在PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java131/jre/bin:/usr/java131/bin後加入:/opt/freeware/bin
2.3 第一次啟動vncserver時建立密碼,
# vncserver
You will require a password to access your desktops.
Password: Verify: 2.4 然後再次執行同樣的命令來建立VNC的啟動配置:
# vncserver
1356-364 xauth: creating new authority file //.Xauthority
New 'X' desktop is 192:1
Creating default startup script //.vnc/xstartup
Starting applications specified in //.vnc/xstartup
Log file is //.vnc/192:1.log
然後編輯~/.vnc/xstartup指令碼,將前面所有註釋掉,增加一行改為:
/usr/dt/bin/Xsession.vnc &
2.5 修改Xsession檔案
#cd /usr/dt/bin/
#cp Xsession Xsession.vnc
#vi Xsession.vnc
註釋掉 $XDIR/xmodmap $i 這一行

3.停止VNC程式:vncserver -kill :1 (-kill與:有空格)


AIX下安裝VNC Server
===========================================================
OS: AIX 5.3

freeware.vnc.rte 3.3.3.2 # Virtual Network Computing
File: vnc-3.3.3.2.bff

freeware.zlib.rte 1.1.4.0 # zlib pre-compiled utility
File: zlib-1.1.4.0.bff

VNC全稱是Virtual Network Computing,屬於遠端控制類軟體。其優點是支援跨作業系統的遠端圖形化控制。在我日常工作中,常用的方式是透過Windows終端訪問AIX遠端主機。下面將以此種模式介紹VNC的安裝使用。

伺服器端 (AIX)

1) 首先確認系統是否安裝了X11

2) 下載兩個檔案
vnc-3.3.3.2.bff
zlib-1.1.4.0.bff

3) 執行smit install安裝vnc server
預設VNC安裝路徑為 “/usr/local/bin”.

4) 將 “/usr/local/bin” 新增到$PATH環境中。
cd /etc/
vi en*
在PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java131/jre/bin:/usr/java131/bin後加入:/usr/local/bin

5) 配置VNC
首先需要編輯VNC server的啟動指令碼,執行以下命令:
# cd /opt/freeware/bin
# chmod 755 vncserver
# vi vncserver
搜尋字串“-fp”,找到下面這一行:
$cmd .= " -fp/usr/lib/X11/fonts/,/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/,/usr/lib/X11/fonts/100dpi/,/usr/lib/X11/fonts/ibm850/";
改為:
$cmd .= " -ac -fp /usr/lib/X11/fonts/,/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/";
注意引號和-ac之間有一個空格。
儲存退出vi

6) 第一次啟動vncserver時建立密碼,
# vncserver
You will require a password to access your desktops.
Password: Verify:

vi /usr/local/bin/下面的VNCSERVER檔案

$geometry = "1024x768";
##depth = 8 -> 24 預設是的8 ,改成32 也是不可以的
$depth = 24;
$desktopName = "X";
$vncClasses = "/usr/local/lib/vnc/classes";
$vncUserDir = "$ENV{HOME}/.vnc";
$xauthorityFile = "$ENV{HOME}/.Xauthority";


- 以上操作完畢後,連線正常

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7318139/viewspace-1010420/,如需轉載,請註明出處,否則將追究法律責任。

相關文章