如何在PuTTY中使用Tab-Completion连接到Ubuntu服务器?


Answers:


13

制表符补全应该在PuTTY中起作用。制表符补全由您在服务器上运行的外壳程序提供,而不是由PuTTY本身提供。请编辑您的问题,并提供更多详细信息,包括您正在使用的外壳以及在尝试使用制表符补全时发生的具体情况。


好,谢谢。如何查看正在使用的外壳?我有一个Ubuntu VPS,所以我想它是默认的。是Bash吗?
乔纳斯(Jonas)2010年

2
尝试echo $SHELL看看您正在运行什么shell。
凯文M

您会尝试键入什么并不能自动完成?您按Tab一次还是两次?您是否尝试过使用bash而不是sh?(我认为在Ubuntu上/bin/sh是一个符号链接,/bin/bash但我可能是错的)
乔什(Josh

4
即使它是/ bin / bash的符号链接,该可执行文件也可能会根据其调用方式更改功能。由于Sanoj看到登录shell是/ bin / sh,它的行为可能像Bourne shell(sh),而不是Bourne-again shell(bash)。最好的办法是更改您的登录外壳。试试看chsh /bin/bash
道格·哈里斯


9

我对此有一个有趣的变化,它适用于root用户,但不适用于我的个人用户。正如krowe所建议的,它是运行Debian的VirtualBox上的本地VM。我使用相同的连接,因此问题必须在服务器端。

事实证明,区别在于root用户在/ etc / passwd中具有/ bin / bash,而个人用户具有/ bin / sh。

将默认shell更改为/ bin / bash对我来说解决了这个问题。


6

我在Windows上运行Putty时遇到了同样的问题,有时,点击Tab只会使焦点移离Putty窗口,并且不会执行通常在下执行的自动填充/bin/bash。我已经尝试了上面提到的所有解决方案,但似乎没有一个可以为我解决此问题。

这就是我固定我的方式。转到Windows桌面屏幕,然后按几次Alt- TabCtrl- Tab组合键,这似乎为我解决了。现在返回到腻子屏幕,然后重试Tab


1
出乎意料的是,这确实有效
Graeme 2014年

1
同样在这里!第一次和Putty发生在我身上
leonbloy 2014年

3

输入以下命令:

sudo vi /etc/bash.bashrc

查找以下行:

# enable bash completion in interactive shells
# 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

取消注释某些行,使其看起来像这样:

# enable bash completion in interactive shells
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

保存,关闭油灰,然后重新打开。



0

我知道这是一个老问题,但是我已经遇到了几次这个问题,并且发现真正的解决方案根本不是服务器端,而是客户端,这是我搜索时首先想到的事情解决问题的方法。

好的,OP提到他正在使用VPS版本的Ubuntu。这使我怀疑他正在运行虚拟服务器,并且由于他有这个特殊问题,我敢打赌该服务器是在本地托管的。过去遇到此问题是由于VM工具存在问题。这很烦人,因为您需要完全重新启动主机操作系统,但是之后应该会很好。您可能想要尝试关闭VMware,或者只是拔下键盘也可以使用,但是我的桌面启动非常快,因此我通常只需完全重启即可。

在我的特定情况下,每次我尝试使用VMware快速安装功能安装最新的Kubuntu版本时都会发生此问题(顺便说一句,该操作也会失败)。当我连接的服务器是远程服务器时,甚至会发生这种情况。希望这对某人有帮助。


0

在键盘下的腻子中,选择Linux。然后在“功能”下选择“禁用切换到备用窗口”

在ADBPutty为我工作

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.