急请各位大神帮忙:
问题描述和详情:
1.基本环境:CENT OS 6.5  KERNEL-重新编译的:4.1.14  runlevel:5    启动gnome桌面  gdm管理器
2.问题需求:      已经写了一个SHELL脚本(名为A.SH),该脚本功能比较简单,循环去判断一个文本文件(serverlist.txt),从这个文件中按行读取拆分一堆参数,然后把拆分好的参数,拼接命令行,调用后面一个用C写的需要调用图形程序(假设叫testc),比如最终拼接好的命令举例:gnome-terminal -x bash -c 'cd /root/;./testc /u:aaa /p:bbb /ip:1.1.1.1 /work_mode:2 +recopy.......'     因为是一直循环不能停的,一旦重启,也需要程序能够自行重新启动并运转起来。所以已经尝试了几种方法:
将A.SH写在/etc/rc.local里       写成系统服务,用chkconfig --add 进行添加      写一个*.desktop的文件   nohup a.sh &现在的问题是,测试重启后,不登陆系统(也就是在登陆的GNOME图形界面的时候)  用上面几种开机启动的方法执行A.SH,因为后面要调用testc  ,查看报错信息都是: Failed to parse arguments: Cannot open display:经过测试:只要在图形界面登陆进了系统,再后台执行A.SH,后面的testc程序的调用就一切正常,包括锁屏后也可以正常运行。
但是因为是要部署到客户机房的,不可预测什么时候重启,也不可能每次重启都手动去做一遍登入和登出的动作。请问各位大神,有没有什么方法,能够在不登陆系统 的情况下,也能够正常在后台正常的调用图形界面的程序?