![如何让“位置”>“连接到服务器...”默认使用 SSH 而不是 FTP](https://linux22.com/image/1105255/%E5%A6%82%E4%BD%95%E8%AE%A9%E2%80%9C%E4%BD%8D%E7%BD%AE%E2%80%9D%3E%E2%80%9C%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8...%E2%80%9D%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20SSH%20%E8%80%8C%E4%B8%8D%E6%98%AF%20FTP.png)
我经常使用“位置”>“连接到服务器...”并始终使用 SSH 连接。
连接到服务器对话框总是默认选择服务类型为公共 FTP。
有没有办法改变这一点,使服务类型始终默认为 SSH?
答案1
我没有看到任何相关的参数、配置文件或 gconf 设置可用于更改默认选项,所以我想您必须重新编译该nautilus
包。
你应该下载源码包首先,可能要编辑/src/nautilus-connect-server-dialog.c
。
关于如何编译 nautilus 的更多信息可以在以下链接中找到:
答案2
感谢 Pavlos G. 提供的信息和链接。阅读链接并进行几次 Google 搜索后,我重新整理了以下内容:
sudo apt-get build-dep nautilus # get build dependencies
apt-get source nautilus # get nautilus source
cd nautilus-2.32.2.1
patch -p1 < ../sftp_default.patch # apply patch to set sftp (SSH) to default protocol
dpkg-buildpackage -rfakeroot -uc -b # build .deb files
cd ..
sudo dpkg -i *.deb # install .deb files
其中 sftp_default.patch 包含:
diff -ruN nautilus-2.32.2.1.a/src/nautilus-connect-server-dialog.c nautilus-2.32.2.1.b/src/nautilus-connect-server-dialog.c
--- nautilus-2.32.2.1.a/src/nautilus-connect-server-dialog.c 2011-08-21 16:00:30.720119356 +1200
+++ nautilus-2.32.2.1.b/src/nautilus-connect-server-dialog.c 2011-08-21 16:00:36.250910768 +1200
@@ -96,9 +96,9 @@
/* Remember to fill in descriptions below */
static struct MethodInfo methods[] = {
/* FIXME: we need to alias ssh to sftp */
- { "sftp", SHOW_PORT | SHOW_USER },
+ { "sftp", DEFAULT_METHOD | SHOW_PORT | SHOW_USER },
{ "ftp", SHOW_PORT | SHOW_USER },
- { "ftp", DEFAULT_METHOD | IS_ANONYMOUS | SHOW_PORT},
+ { "ftp", IS_ANONYMOUS | SHOW_PORT},
{ "smb", SHOW_SHARE | SHOW_USER | SHOW_DOMAIN },
{ "dav", SHOW_PORT | SHOW_USER },
/* FIXME: hrm, shouldn't it work? */
为了检查是否可以将 Nautilus 恢复为默认的 Ubuntu 包,我使用了:
sudo apt-get install --reinstall nautilus
效果非常好,再次感谢 Pavlos G。
我发现http://ubuntuforums.org/showthread.php?t=101097有助于重新编译软件包。