X Window与远程服务器管理全攻略
1. 停止X服务器
在Linux或Solaris服务器上,有时为了节省资源,如GUI软件应用消耗的内存,需要停止X服务器。不同系统有不同的停止方法:
-
Solaris服务器
:使用
svcadm disable gdm
命令停止X服务器。之后可通过
svcs gdm
命令确认GDM服务是否已禁用。示例如下:
# svcadm disable gdm
# svcs gdm
STATE STIME FMRI
disabled 11:18:03 svc:/application/graphical-login/gdm:default
-
Linux服务器
:有三种方式可以停止X服务器:
-
运行
init 3或telinit 3:-
若X Window系统正在运行,按
Ctrl+Alt+F1切换到文本控制台。 - 若提示登录,以root身份登录。
-
执行
init 3或telinit 3停止X服务器,示例:
-
若X Window系统正在运行,按
-
运行
# init 3
2. **按`Ctrl+Alt+Backspace`**:
- 按`Alt+F7`切换到图形控制台(若已在图形控制台可跳过此步)。
- 按`Ctrl+Alt+Backspace`停止X服务器。
3. **修改`/etc/inittab`并重启服务器**:将`/etc/inittab`文件中`initdefault`变量的值改为3,示例:
id:3:initdefault:
然后重启Linux服务器使更改生效。
这三种方法与当前运行级别有关。若当前运行级别为5,使用第二种方法会回到图形登录界面,此时应使用第一种方法;否则,可使用第二种方法。可通过
runlevel
命令查看之前和当前的运行级别,示例:
# runlevel
N 5
2. 在远程服务器上显示X客户端
当本地Linux服务器的X服务器未运行,但想运行X客户端或GUI软件应用时,可将图形显示重定向到运行X服务器的远程Linux/Solaris服务器。以下是具体步骤:
假设用户
oracle
登录在本地Linux服务器
RAC1
上,想运行如
dbca
创建Oracle数据库的应用,而X服务器未运行,远程Solaris服务器
BLSOL01
运行着X服务器。
1. 在Linux服务器
RAC1
上,设置环境变量
DISPLAY
指向Solaris服务器
BLSOL01
:
[oracle@RAC1 ~]$ export DISPLAY=BLSOL01:0.0
-
在Linux服务器
RAC1上运行dbca:
[oracle@RAC1 ~]$ dbca
若未设置
DISPLAY
环境变量,会出现错误信息“DISPLAY not set. Set DISPLAY environment variable, then re-run.”,需确保将
DISPLAY
设置为运行X服务器的服务器。
可能会遇到“
No protocol specified
”和“
Error: Can't open display: BLSOL01:0.0
”错误,原因是本地服务器可能未获得远程服务器的访问权限。可在Solaris服务器
BLSOL01
上运行
xhost
命令确认是否授予访问权限:
bslopuz@BLSOL01:~$ xhost
access control enabled, only authorized clients can connect
INET: BLSOL02
INET: RAC1
解决方法有两种:
- 在Solaris服务器
BLSOL01
上运行
xhost +RAC1
,仅允许来自
RAC1
的客户端连接:
bslopuz@BLSOL01:~$ xhost +RAC1
RAC1 being added to access control list
bslopuz@BLSOL01:~$ xhost
access control enabled, only authorized clients can connect
INET: RAC1
-
在Solaris服务器
BLSOL01上运行xhost +,允许所有直接访问BLSOL01的服务器连接,但不建议这样做,因为会允许任何服务器访问:
bslopuz@BLSOL01:~$ xhost +
access control disabled, clients can connect from any host
若要撤销访问权限,可运行
xhost -RAC1
撤销特定服务器
RAC1
的权限,示例:
bslopuz@BLSOL01:~$ xhost
access control enabled, only authorized clients can connect
INET:BLSOL02
INET:RAC1
bslopuz@BLSOL01:~$ xhost -RAC1
RAC1 being removed from access control list
bslopuz@BLSOL01:~$ xhost
access control enabled, only authorized clients can connect
INET:BLSOL02
若之前运行了
xhost +
,可运行
xhost -
撤销所有服务器的访问权限:
bslopuz@BLSOL01:~$ xhost -
access control enabled, only authorized clients can connect
bslopuz@BLSOL01:~$ xhost
access control enabled, only authorized clients can connect
3. 通过SSH隧道传输X
若想在远程Linux/Solaris服务器上运行X客户端或GUI软件应用,且希望通过安全连接登录并加密服务器间传输的数据,可通过SSH隧道实现。
假设用户
oracle
登录在本地Linux服务器
BLSOL01
上,远程Solaris服务器为
BLSOL02
,具体步骤如下:
1. 在本地Solaris服务器
BLSOL01
上,使用
-X
(大写X)选项运行
ssh
命令连接到
BLSOL02
,可能会提示输入
BLSOL02
上用户的密码:
bslopuz@BLSOL01:~$ ssh -X BLSOL02
Password:
Last login: Mon Nov 16 02:17:46 2015
Oracle Corporation SunOS 5.11 11.2 June 2014
-
若
X11Forwarding设置正确,成功连接到远程服务器后,DISPLAY变量会自动设置,示例:
bslopuz@BLSOL02:~$ echo $DISPLAY
localhost:10.0
-
成功连接到服务器
BLSOL02后,可在该服务器上运行X客户端或GUI软件应用。建议先运行简单的X客户端,如xeyes进行测试。
X服务器的默认端口是6000,若该端口被阻止,可使用
-X
选项运行
ssh
来显示应用。
运行X客户端或GUI软件应用时,可能会收到“
Warning: Remote host denied X11 forwarding.
”和“
Error: Can't open display.
”错误。要解决这些错误,需确保远程Linux/Solaris服务器的
/etc/ssh/sshd_config
文件中
X11Forwarding
设置为
yes
。
若要排查SSH连接问题,可使用
-v
选项运行
ssh
命令显示调试信息,使用
-vvv
选项可显示更多调试信息,同时建议查看
/var/log/secure
和
/var/log/messages
文件。
4. 操作X Windows的终端模拟器
若想启动默认的X终端并改变外观以适应不同的数据库环境(开发、质量保证和生产数据库环境),可使用
xterm
命令。以下是不同数据库环境的
xterm
示例:
xterm -sl 32000 -sb -title "Production" -geometry 128x40 -bg red -fg white &
xterm -sl 32000 -sb -title "QA" -geometry 128x40 -bg yellow -fg black &
xterm -sl 32000 -sb -title "Development" -geometry 128x40 -bg blue -fg white &
各参数说明如下:
|参数|说明|
|----|----|
|
-sl
|指定滚动缓冲区长度,这里设置为32000行|
|
-sb
|显示滚动条|
|
-title
|设置窗口标题,用双引号括起来|
|
-geometry
|定义窗口大小和位置|
|
-bg
|设置背景颜色|
|
-fg
|设置前景颜色|
通过不同的背景颜色可以区分不同的数据库环境,如蓝色窗口代表开发环境,黄色窗口代表QA环境,红色窗口代表生产环境。
还可使用
-font
参数定义特定的字体、字号和其他属性。最简单的方法是执行
xfontsel
命令,选择字体类型和大小属性后,点击“select”按钮并粘贴到
xterm
命令中,示例:
xterm -font -adobe-courier-bold-*-*-*-12-*-*-*-*-*-*-*
满意字体外观后,可回到
xfontsel
窗口点击“quit”按钮。
-e
参数可指定在
xterm
窗口中运行的程序和参数,示例:
xterm -e "ssh rac3 -l root"
xterm
是X Windows中标准的终端模拟器,在所有UNIX操作系统中表现一致。在
xterm
窗口中,可通过高亮显示文字自动复制到内存缓冲区,通过按中间鼠标按钮(两键鼠标通常为轨迹球)粘贴,同时按下左右键也可粘贴。按住
Ctrl
键并同时按下左、中、右键会出现不同的菜单选项:
- 按
Ctrl
和鼠标左键:主选项。
- 按
Ctrl
和鼠标右键:VT字体。
- 按
Ctrl
和鼠标中键:VT选项。
通过VT字体菜单可改变字体大小,通过VT选项菜单可修改如启用或禁用滚动条、启用反向视频等简单设置。若需要
xterm
参数的帮助,可执行
xterm -help
命令。
5. 使用VNC管理远程服务器
如今,越来越少的数据库管理员(DBA)在托管Oracle数据库的服务器控制台前工作,数据库服务器或数据中心与DBA可能位于不同地理位置。DBA可通过
telnet
、
rsh
、
rlogin
和
ssh
等协议,以及
PuTTY
和
Virtual Network Computing (VNC)
等工具远程访问数据库服务器。
PuTTY
可让用户从Windows客户端通过
telnet
或
ssh
远程访问服务器,还能配置代理设置和
ssh
端口隧道,并保存配置。但有时需要运行GUI软件,如Oracle的数据库配置助手(DBCA)创建Oracle数据库或其他基于X Window System的软件,此时
VNC
就很有用。
VNC
是英国剑桥的
RealVNC
公司的瘦客户端产品,可让用户以图形方式访问数据库服务器。对于DBA来说很有用,因为Oracle需要X服务器来显示基于Java的安装、创建、配置和监听设置界面。也就是说,可在本地的
VNC
客户端计算机上运行与数据库服务器控制台相同的GUI应用程序。
运行
VNC
需要两个组件:服务器和查看器。
VNC Server
组件运行在要监控的计算机上,
VNC Viewer
组件运行在要监控远程服务器的计算机上。在启动
VNC
会话前,必须安装这两个组件。
VNC
可在大多数操作系统上运行,包括UNIX(如Solaris)、Linux、Windows和Mac OS。
以下是操作流程的mermaid流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B{选择操作}:::decision
B -->|停止X服务器| C(确定服务器类型):::process
C -->|Solaris| D(执行svcadm disable gdm):::process
C -->|Linux| E{选择停止方式}:::decision
E -->|init 3或telinit 3| F(切换到文本控制台):::process
F --> G(以root身份登录):::process
G --> H(执行init 3或telinit 3):::process
E -->|Ctrl+Alt+Backspace| I(切换到图形控制台):::process
I --> J(按Ctrl+Alt+Backspace):::process
E -->|修改inittab并重启| K(修改inittab文件):::process
K --> L(重启服务器):::process
B -->|显示X客户端在远程服务器| M(设置DISPLAY变量):::process
M --> N(运行X客户端应用):::process
N --> O{是否有权限错误}:::decision
O -->|是| P(执行xhost命令):::process
O -->|否| Q(正常显示应用):::process
B -->|通过SSH隧道传输X| R(使用ssh -X连接远程服务器):::process
R --> S(检查DISPLAY变量):::process
S --> T(运行X客户端应用):::process
T --> U{是否有X11转发错误}:::decision
U -->|是| V(修改sshd_config文件):::process
U -->|否| W(正常运行应用):::process
B -->|操作X Windows终端模拟器| X(使用xterm命令启动终端):::process
X --> Y{是否需要调整外观}:::decision
Y -->|是| Z(使用xterm参数调整):::process
Y -->|否| AA(正常使用终端):::process
B -->|使用VNC管理远程服务器| AB(安装VNC Server和Viewer):::process
AB --> AC(启动VNC会话):::process
AC --> AD(远程访问服务器):::process
以上就是关于X Window管理和远程服务器管理的详细内容,涵盖了停止X服务器、在远程服务器显示X客户端、通过SSH隧道传输X、操作X Windows终端模拟器以及使用VNC管理远程服务器等方面的知识和操作步骤。
X Window与远程服务器管理全攻略
6. 各操作的综合对比与注意事项
为了更清晰地了解前面介绍的各项操作,下面对它们进行综合对比,并列出一些注意事项。
| 操作类型 | 适用场景 | 操作步骤 | 注意事项 |
|---|---|---|---|
| 停止X服务器 | 节省资源,如内存 |
Solaris:
svcadm disable gdm
;Linux:
1.
init 3
或
telinit 3
(需先切换到文本控制台并以root身份登录)
2.
Ctrl + Alt + Backspace
(需在图形控制台)
3. 修改
/etc/inittab
并重启服务器
|
当前运行级别会影响操作效果,可通过
runlevel
命令查看
|
| 在远程服务器上显示X客户端 | 本地X服务器未运行,想运行X客户端或GUI应用 |
1. 设置
DISPLAY
环境变量指向远程服务器
2. 运行X客户端应用 |
可能会出现权限问题,可通过
xhost
命令解决
|
| 通过SSH隧道传输X | 需要安全连接并加密数据 |
1. 使用
ssh -X
连接远程服务器
2. 检查
DISPLAY
变量
3. 运行X客户端应用 |
确保远程服务器
X11Forwarding
设置为
yes
,可通过
ssh -v
或
ssh -vvv
调试
|
| 操作X Windows的终端模拟器 | 适应不同数据库环境 |
使用
xterm
命令,可通过参数调整外观和功能
|
不同参数有不同作用,可通过
xterm -help
查看帮助
|
| 使用VNC管理远程服务器 | 需要图形化访问远程服务器 |
1. 安装
VNC Server
和
VNC Viewer
2. 启动
VNC
会话
3. 远程访问服务器 | 确保两台计算机都安装相应组件 |
7. 常见问题及解决方案总结
在进行上述操作时,可能会遇到一些常见问题,下面总结了这些问题及相应的解决方案。
| 问题描述 | 可能原因 | 解决方案 |
|---|---|---|
| 停止X服务器后又回到图形登录界面 | 当前运行级别为5,使用了不恰当的停止方法 |
若当前运行级别为5,使用
init 3
或
telinit 3
方法
|
在远程服务器显示X客户端时出现“
No protocol specified
”和“
Error: Can't open display
”错误
| 本地服务器未获得远程服务器的访问权限 |
在远程服务器上运行
xhost +RAC1
或
xhost +
(不建议),可通过
xhost -RAC1
或
xhost -
撤销权限
|
通过SSH隧道传输X时出现“
Warning: Remote host denied X11 forwarding.
”和“
Error: Can't open display.
”错误
|
远程服务器
X11Forwarding
设置不正确
|
确保远程服务器
/etc/ssh/sshd_config
文件中
X11Forwarding
设置为
yes
|
8. 操作技巧与最佳实践
在实际操作中,掌握一些技巧和最佳实践可以提高效率和安全性。
-
停止X服务器 :
-
在执行
init 3或telinit 3前,先保存好当前正在进行的工作,以免数据丢失。 - 若需要频繁停止和启动X服务器,可编写脚本实现自动化操作。
-
在执行
-
在远程服务器上显示X客户端 :
-
尽量使用
xhost +RAC1的方式授予权限,避免使用xhost +,以提高安全性。 - 定期检查远程服务器的访问权限列表,及时撤销不必要的权限。
-
尽量使用
-
通过SSH隧道传输X :
- 配置密钥认证,避免每次登录都输入密码,提高连接效率。
-
定期更新远程服务器的
sshd_config文件,确保安全设置的有效性。
-
操作X Windows的终端模拟器 :
-
可将常用的
xterm命令保存为脚本,方便快速启动不同环境的终端。 - 根据不同的数据库环境,设置不同的快捷键,提高操作效率。
-
可将常用的
-
使用VNC管理远程服务器 :
-
为
VNC设置强密码,避免被他人轻易破解。 -
定期备份
VNC服务器的数据,以防数据丢失。
-
为
9. 未来趋势与拓展应用
随着技术的不断发展,X Window管理和远程服务器管理也会有一些新的趋势和拓展应用。
- 安全性增强 :未来会有更多的安全机制和加密技术应用到这些操作中,如多因素认证、零信任架构等,以提高数据传输和访问的安全性。
- 自动化管理 :通过脚本和自动化工具,实现X服务器和远程服务器的自动化配置、监控和维护,减少人工干预。
- 云环境集成 :随着云计算的普及,X Window管理和远程服务器管理将与云环境更好地集成,实现更灵活的资源分配和管理。
10. 总结
本文详细介绍了X Window管理和远程服务器管理的相关知识和操作步骤,包括停止X服务器、在远程服务器显示X客户端、通过SSH隧道传输X、操作X Windows终端模拟器以及使用VNC管理远程服务器等内容。通过对这些操作的学习和实践,数据库管理员(DBA)可以更高效地管理服务器,提高工作效率和安全性。
同时,我们还总结了常见问题及解决方案,提供了操作技巧和最佳实践,并展望了未来的发展趋势。希望这些内容对读者有所帮助,让大家在实际工作中能够更好地应对各种挑战。
以下是一个简单的mermaid流程图,展示了整个管理流程的大致框架:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([开始管理]):::startend --> B(选择管理方式):::process
B -->|X Window管理| C(停止/显示X服务器等操作):::process
B -->|远程服务器管理| D(通过SSH或VNC访问):::process
C --> E(处理可能出现的问题):::process
D --> E
E --> F(优化与维护):::process
F --> G([结束管理]):::startend
通过这个流程图,我们可以更清晰地看到整个管理过程的主要步骤和环节。希望大家在实际操作中能够灵活运用这些知识,不断提升自己的管理能力。
超级会员免费看
35

被折叠的 条评论
为什么被折叠?



