debian – 为什么我的.bashrc脚本执行乱序/不等待步骤完成?
我需要教师在偏远地区填写电子注册表,他们需要能够快速完成并且必须尽量少做.为了实现这一点,我已经设置了上网本,其中包含“vanilla”Debian 6安装,除了rdesktop之外什么也没有.上网本自动登录(通过/ etc / inittab)然后我使用.profile用户主目录中的.bashrc文件重新启动网络(修复dhcp错误),启动窗口服务器的startx,然后启动rdesktop进入一个终端服务器来取得注册.这很有效,老师会在不到30秒的时间内收到他们的记录.
我想要发生的是,当他们关闭rdesktop(退出终端服务器)时,笔记本电脑关闭,但到目前为止失败了.我最初尝试将shutdown命令添加到脚本的下一行,但由于某些无法解释的原因,脚本似乎无序运行,并且机器在rdesktop运行之前关闭.我认为这是因为rdesktop是“forking”.有没有办法在脚本运行的其余部分之前等待rdesktop退出? 我已经尝试过了: 我知道如何在visual basic / vbscript / batch文件中执行此操作,但我对linux很新,我开始认为我错过了显而易见的或者是愚蠢的! 我的文件如下: /home/user/.profile: sudo dhclient startx -- :1 /home/user/.bashrc: rdesktop -u "" -k en-gb -f servername (缺少用户名是故意的,因为它导致终端服务器不预先填写用于登录的用户名,用于上网本的linux用户名) 解决方法
实际上可能发生的是.bashrc的运行速度比您想象的要多.
如果它运行且没有X屏幕或DISPLAY变量,则rdesktop将失败,然后关闭将运行. @ dimmer的解决方案应该处理,尽管有一种更清洁的方式. 如果在startx命令之后放置shutdown命令并将rdesktop命令放在用户的.xinitrc中,它应该可以工作.这可能更清洁,更健壮.试试看. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |