我知道我之前已经找到过这个问题,但找不到答案。
当我在 CentOS 7(从 X Windows GNOME 或 KDE)上启动 bash shell 时,TMOUT
设置的变量会导致 shell 在指定的不活动时间后超时。
该变量是只读的,因此我无法取消设置或更改它!
unset TMOUT
# prints bash: unset: TMOUT: cannot unset: readonly variable
export TMOUT=99999
# prints bash: TMOUT: readonly variable
通常/etc/bashrc
会设置这些东西。我尝试使用以下方法找到它的设置位置:
grep TMOUT $HOME/.??* /etc/* 2> /dev/null
# not found
所以我认为它TMOUT
实际上没有被设置,/etc/bashrc
或者如果它没有按照我正在寻找的方式设置。
还提出了其他问题,但它们不一样或没有帮助。
答案1
为了禁用超时,我更改了文件 /etc/profile.d/local.sh。我注释掉了设置超时变量并使其只读的行。
vi /etc/profile.d/local.sh
#export TMOUT=43200
#readonly TMOUT
另一种方法是设置 TMOUT=0,这意味着禁用超时。 bash TMOUT 的手册页是http://man7.org/linux/man-pages/man1/bash.1.html。
最重要的更改是注释掉使变量变为“只读”的行。如果可以更改该变量,那么我可以在自己的登录设置中修改它(例如,$HOME/.bashrc 或.bash_profile)。