我试图制作一个脚本来或多或少地自动安装oracle数据库以及我自己的一些其他应用程序。我还没有写一行,因为我想先手动完成所有步骤。
因此,我的环境如下。我有RHEL 5没有图形界面。我是从Windows笔记本电脑连接到服务器通过SSH作为根。我启用了XForwarding,所以当我使用根帐户登录时,我可以运行xdpyinfo,以便检查XServer配置。
我需要XForwarding,因为Oracle安装过程需要一个XServer。但是,Oracle要求用户oracle执行安装。我已经创建了oracle用户,但是当用户从root更改为oracle时,我不能再运行xdpyinfo命令,因此Oracle安装过程失败。我得到以下错误:
Xlib: connection to "localhost:10.0" refused by server
Xlib: PuTTY X11 proxy: wrong authorisation protocol attempted
xdpyinfo: unable to open display "localhost:10.0".我曾尝试使用xhost让我的笔记本电脑访问我的服务器,但我也失败了。
发布于 2014-02-03 14:50:30
如果您真的觉得需要这样做,那么当您是根用户时,获取当前的$DISPLAY值,特别是冒号之后的第一个值,在您的情况下是10。然后为您的会话找到当前X授权令牌:
xauth list | grep ":10 "这会给你这样的感觉:
hostname/unix:10 MIT-MAGIC-COOKIE-1 2b3e51af01827d448acd733bcbcaebd6在您将su设置到oracle帐户后,$DISPLAY可能仍在设置,但如果没有,则将其设置为与您的基础会话匹配。然后将xauth令牌添加到当前会话中:
xauth add hostname/unix:10 MIT-MAGIC-COOKIE-1 2b3e51af01827d448acd733bcbcaebd6当你完成之后,你可以用:
xauth remove hostname/unix:10这是假设PuTTY在Connection->SSH->X11部分中配置为使用MIT-Magic-Cookie-1作为远程X11身份验证协议。如果将其设置为MDM-Authorization-1,则使用xauth获得和设置的值将改为XDM-AUTHORIZATION-1。
从root断开连接并以oracle的形式启动一个新的ssh会话以继续安装可能会更简单,这也将确保您不会意外地执行root之类的意外操作。好吧,直到你不得不运行root.sh为止。
如果您做了一个silent install with a response file then you don't need a working X11 connection anyway,您只需要设置$DISPLAY,但是在该显示上没有打开任何东西,所以xdpyinfo或任何其他X11命令是否会失败并不重要。我不知道如何编写X11会话脚本,但即使有可能,静默安装也会更简单、更可重复。
https://stackoverflow.com/questions/21512833
复制相似问题