如何防止 Shell 自动注销终止我的屏幕会话?

如何防止 Shell 自动注销终止我的屏幕会话?

回显$自动注销

显示 60

但是我无法取消设置这个变量,因为它是只读的,错误消息:set: $autologout is read-only.

每次当 shell 自动注销时,我的屏幕会话也会终止,非常烦人。如何防止这种情况发生?或者更好的是,如何禁用此自动注销?

答案1

保持屏幕会话处于活动状态的快速解决方法很简单。只需启动第二个 shell(使用control-a c并启动一个程序)。

根据这一页可以使用 在 csh 和 tcsh 中设置只读变量set -r。引用该页面的内容:

可以使用“set -r”将变量设置为只读(qv)只读变量可以
 不可修改或取消设置;尝试这样做将导致错误。一旦
 只读,变量不能变为可写,因此应使用“set -r”
 小心谨慎。环境变量不能设为只读。

这意味着你不能取消设置或更改它在这个外壳里

这似乎给你留下了几个选择:

首先,您可以检查您的主目录中是否有.login或,.cshrc如果它们设置在这两个中的任何一个中,请编辑该文件,它将在您下次登录时处于活动状态。

或者,也可以从中设置,/etc/csh.cshrc在这种情况下,它是系统上所有 csh 用户的默认值。我不确定您是否可以通过在自己的配置文件中设置另一个值来覆盖它。这可能取决于首先读取哪个配置文件。

第三,你可以编译自己的 csh。这可能有点夸张,但如果你需要csh 那么它是一个选择。

最后:如果你不需要Cch 但只是一个 shell,您可以检查其他 shell(ksh、bash、/bin/sh)是否配置了相同的值。这感觉像是一种肮脏的解决方法(甚至比编译自己的版本更糟糕),所以我把它作为最后的选择。

相关内容