nautilus 不接受命令中的密码

nautilus 不接受命令中的密码

您好,我正在尝试使用 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 &

答案2

你必须像这样使用它:

ftp://example.com/

然后 Nautilus 将提示输入用户名和密码。

您也可以使用 ssh 连接:

ssh ftp://[email protected]/ 

相关内容