我无意中执行setxkbmap pc
了而不是setkxbmap us
. 显然,这具有键盘映射器现在仅(?)映射空格和新行的效果。所以,我不能再执行 asetxkbmap us
了,至少不能在 Xterm 中执行。
有没有办法在不退出 X 的情况下从中恢复?
我无意中执行setxkbmap pc
了而不是setkxbmap us
. 显然,这具有键盘映射器现在仅(?)映射空格和新行的效果。所以,我不能再执行 asetxkbmap us
了,至少不能在 Xterm 中执行。
有没有办法在不退出 X 的情况下从中恢复?
我正在尝试了解 Linux 的终端子系统,尤其是 tty 驱动程序和线路规则。显然,这个子系统的架构源于电传打字机(ttys)连接到计算机以将数据输入计算机并获得进程响应的时代。
我从未在真正的历史 tty 上工作过,我相信当我了解这种 tty 的工作原理时,我能够更好地理解 tty 驱动程序的内在特性。
我对回声和行编辑特别感兴趣。
那么,当 tty 上的操作员键入文本时:文本是否在 tty 上回显(通过在纸上打印一行)?它是在他键入单个键/字符时回显,还是仅在他按下新行/回车键时回显。
他键入的键(字符)是立即传送到计算机(线路规则?)还是存储在 tty 本地的缓冲区中,并在按下新线路键时传送。
操作员如何编辑错误的文本(退格键、ctrl-h)?退格信息是否会被发送到将相应编辑行的计算机,或者这是 tty 的一个功能(计算机会注意到它)?
最后,如果操作员在tty 从计算机接收数据时输入文本会发生什么?
我似乎无法继承set +h
调用 shell 脚本的效果:
这是一个 shell 脚本 ( ./call
)。
#!/bin/bash
set +h
export SHELLOPTS
./called
这是以下内容./called
:
#!/bin/bash
echo \$-=$-
echo SHELLOPTS=$SHELLOPTS
当我执行./call
时,将打印以下内容:
$-=hB
SHELLOPTS=braceexpand:hashall:interactive-comments
我认为当我导出 shell 选项时会继承这些选项SHELLOPTS
。显然情况并非如此。
有没有办法继承set +h
调用的shell脚本的效果?