【发布时间】:2014-05-02 00:16:08
【问题描述】:
我正在运行 Ubuntu 13.10。当我通过远程桌面远程登录并使用终端时,我无法使用 tab 键自动完成文件/目录等项目的命令。远程窗口管理器是xfce,终端shell是bash。
如果我使用 SSH 访问同一个框,我可以使用 tab 键自动完成。
xfce 窗口中终端模拟器自动完成命令的关键是什么?常规的 Tab 键不起作用。
【问题讨论】:
标签: ubuntu
我正在运行 Ubuntu 13.10。当我通过远程桌面远程登录并使用终端时,我无法使用 tab 键自动完成文件/目录等项目的命令。远程窗口管理器是xfce,终端shell是bash。
如果我使用 SSH 访问同一个框,我可以使用 tab 键自动完成。
xfce 窗口中终端模拟器自动完成命令的关键是什么?常规的 Tab 键不起作用。
【问题讨论】:
标签: ubuntu
我在使用 XFCE 和 TigerVNC 时遇到了这个问题:按 Tab 键刚刚在我打开的终端之间切换。按照@Jonas 提供的链接中给出的说明解决了这个问题:http://how-to.cc/fix-bash-command-line-completion。我会在这里复制一些片段,以防链接被破坏。
第 1 步:
确保您的 .bashrc 文件包含类似
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
以便实际获取包含 bash 完成信息的文件。就我而言,/etc/bash_completion 指向 /usr/share/bash-completion/bash_completion,其中包含要设置的内容。作为参考,我的.bashrc 结尾看起来像这样:
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
第 2 步:
禁用选项卡更改窗口的行为。这是在文件~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml 中通过更改行来完成的
<property name="<Super>Tab" type="string" value="switch_window_key"/>
到
<property name="<Super>Tab" type="empty"/>
第 3 步:
重新启动或重新启动您的 VNC 服务器 (XFCE)。
【讨论】:
试试这个,
Xfce Application Menu > Settings > Window Manager
Keyboard标签Switch window for same application setting
请参考here。
【讨论】:
XFCE 终端绑架了 tab 键,以实现它自己的一个功能,即 tab/windows 切换。 相反,如果您按 CTRL-tab,则会发送普通选项卡。
我说这是XFCE终端仿真器设计上的一个错误,但我不知道如何摆脱tab的绑架!
【讨论】:
在我的情况下,'set -u' 是罪魁祸首,我在 .bash_profile 中注释掉了,标签完成工作
【讨论】:
对于可能在 docker 中使用 Linux 的人,选项卡自动完成可能不起作用。我通过创建链接解决了它。
ln -sf /bin/bash /bin/sh
【讨论】: