debian – 为什么我的.bashrc脚本执行乱序/不等待步骤完成?

前端之家收集整理的这篇文章主要介绍了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中,它应该可以工作.这可能更清洁,更健壮.试试看.

原文链接:https://www.f2er.com/linux/395373.html

猜你在找的Linux相关文章