环境:Ubuntu 10.04(64位)、Eclipse Helios 3.6(64位)、Android 2.3 SDK + ADT。
一切运行良好,但我只能选择本地系统上的工作区。Eclipse 不允许我选择 Samba 服务器上的共享文件夹。
Ubuntu 的此共享的 URI 格式如下:
smb://[email protected]/sandbox/workspace
但即使我手动在编辑框中输入该内容,Eclipse 也不会接受它。
我在 Windows 上使用 Eclipse 3.6 时没有遇到这个问题。
有没有什么解决方法?
答案1
使用 CIFS 会有所帮助。此链接有帮助吗?Ubuntu 维基? 您需要 smbfs 包才能启动。
sudo apt-get install smbfs
摘自 Wiki
Ubuntu 10.10 Maverick Meercat
使用您选择的文本编辑器,创建一个包含远程服务器登录凭据的文件。将 替换为本地用户名。以下将打开 GEdit 应用程序:
sudo gedit /home/<LOCALUSERNAME>/.smbcredentials
将您的用户名和密码放入文件中。将和替换为适当的信息:
username=<REMOTEUSERNAME>
password=<REMOTEPASSWORD>
保存并退出。
更改文件的权限以防止不必要的人查看远程共享的登录信息:
sudo chmod 600 /home/<LOCALUSERNAME>/.smbcredentials
打开文件系统表文件进行编辑。下面将使用 GEdit 对其进行编辑:
sudo gedit /etc/fstab
将远程共享添加到表中的一行中。以下行替换为适当的数据后将挂载共享以进行读写:
//<SERVERNAME>/<REMOTEPATH> /<LOCALMOUNTPOINT>/<LOCALPATH> cifs credentials=/home/<LOCALUSERNAME>/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
保存并退出。
最后,通过发出以下命令测试 fstab 条目:
sudo mount -a
如果没有输出任何错误,则重启测试可能是安全的。您的远程共享现在应该每次启动时都会自动挂载。
更新
您可能需要将您的用户名和组“映射”到远程文件系统的用户名和组,uid=x,gid=y
在 /etc/fstab 中使用,其中 x=your_uid 和 y=your_gid(在远程服务器上)。
//<SERVERNAME>/<REMOTEPATH> /<LOCALMOUNTPOINT>/<LOCALPATH> cifs credentials=/home/<LOCALUSERNAME>/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777,uid=YOUR_USERID,gid=YOUR_GROUP_ID 0 0
答案2
如你所说smb://[电子邮件保护]/沙箱/工作区是一个类似于ftp://somesite.com。URI 需要能够理解 URI 中提到的协议的程序,即 samba 共享中的 smb 和 FTP 中的 ftp。我们不希望 Eclipse 使用 ftp 位置作为工作区,同样,它可能无法使用 smb 位置作为工作区。如果您想首先使用 Windows 共享作为工作区,只需使用类似于以下命令在本地安装它:
mount -t smbfs -o username=name,password=password //machinename/sharename /mnt/smbshare
现在,您可以使用文件夹 /mnt/smbshare 作为工作区。您不必将其安装到 /mnt/smbshare,您可以将其安装到任何您想要的地方。
答案3
最终找到了一种解决方法,无需安装额外的 SMB/CIFS 包和/或额外的挂载:
GNOME smb 共享始终安装在主目录下:
~/.gvfs/sharename on 192.168.0.2/sandbox/workspace
(确保使用浏览按钮选择它,而不是手动输入完整路径)
很简单... :)