您好,我正在尝试使用 nautilus 连接到 ftp。但它不接受密码。以下是我尝试连接的示例:
nautilus ftp://username:[email protected]
sftp 也不起作用。它将用户名和密码视为用户名。示例中要求输入用户的密码username:PASSWORD
我做错了什么吗?我发现语法这里
答案1
只需将密码存储在密钥环上。这样就不会再要求您输入密码了。
第一次提示时,选择存储密码。您无法从命令行向 Nautilus 输入密码。
一个可行的替代方法是gvfs-mount
,如果未存储密码,它会在终端上要求输入密码,而不是使用窗口。
gvfs-mount ftp://user@server && nautilus ftp://user@server
由于密码是从标准输入读取的,因此您可以像这样从命令行传递它:
gvfs-mount ftp://user@server <<< "passwordHere"
nautilus ftp://user@server
请注意,这是非常不安全的,因为密码将存储在您的 bash 历史文件中。我建议在执行此操作之前禁用历史记录,然后重新启用它。
HISTIGNORE="*"
gvfs-mount ftp://user@server <<< "passwordHere"
nautilus ftp://user@server &
unset HISTIGNORE
您还可以微调HISTIGNORE
表达式,使其不匹配以 开头的任何命令gvfs-mount
,但仍保留其他命令。
HISTIGNORE="gvfs-mount *"
gvfs-mount ftp://user@server <<< "passwordHere"
nautilus ftp://user@server &
您也可以使用分号来编写一行代码:
HISTIGNORE="gvfs-mount *"; gvfs-mount ftp://user@server <<< "passwordHere" ; nautilus ftp://user@server &
您还可以通过将 URL 存储在变量中来避免编写两次:
CONNECT_TO="ftp://user@server" ; HISTIGNORE="gvfs-mount *"; gvfs-mount $CONNECT_TO <<< "passwordHere" ; nautilus $CONNECT_TO &