加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 02:26:33 所属栏目:Linux 来源:网络整理
导读:我需要教师在偏远地区填写电子注册表,他们需要能够快速完成并且必须尽量少做.为了实现这一点,我已经设置了上网本,其中包含“vanilla”Debian 6安装,除了rdesktop之外什么也没有.上网本自动登录(通过/ etc / inittab)然后我使用.profile用户主目录中的.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中,它应该可以工作.这可能更清洁,更健壮.试试看.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读