问题描述
我正在尝试在一台Ubuntu机器上与另一台Ubuntu机器在同一家庭网络上共享一个文件夹。当我右键单击该文件夹并选择“共享选项”时,它告诉我需要安装Windows网络共享服务才能共享文件夹。 Windows与此有什么关系?我不是想与Windows机器共享……
最佳解决办法
What does Windows have to do with this? I’m not trying to share with a Windows machine…
你是对的,这可能令人困惑。所以让我首先尝试澄清这些术语:
Windows共享文件和打印机的方式称为SMB。 SAMBA项目的人员已经实现了Microsoft的所有Microsoft协议和规范。因此,Ubuntu支持与Windows相同的文件共享,称为Samba。
-
您可以使用SAMBA在Linux计算机之间共享文件。事实上,如果你有一个朋友用他们的Windows电脑,你可能更喜欢它。
-
或者,您可以使用Linux方式共享文件,即NFS(网络文件系统) – This answer to a previous question解释如何执行此操作。 (但它相当技术性)
因此,当“共享选项”对话框要求您安装软件包时,您实际上并未安装任何Microsoft软件或类似软件。继续做,这是非常安全的。
附录:
您可以尝试在遵循Salih Emin的指示之前启用共享;如果它不起作用,您将收到一个简单的警告,然后您可以执行Salih描述的步骤(如果需要)。我在新安装的和up-to-date系统上尝试过,我确实需要这样做。
次佳解决办法
目前,Lucid中有一个小错误,它在Launchpad中列出:bug #536766。此错误不会提示用户安装完成文件共享set-up所需的必要软件包。在此之前,这是一个快速的解决方法。
您需要安装libapache2-mod-dnssd并重新启动。单击此链接进行安装,或在软件中心中找到libapache2-mod-dnssd。
安装完毕后,请转到系统→首选项→个人文件共享,然后选中“在网络上共享公共文件”框。
完成所有操作后,您应该能够查看网络上允许在Public文件夹中共享公共文件的所有其他计算机。只需单击位置→网络,就可以看到所有可用的计算机及其共享的公用文件夹。
服务器图标上的Double-clicking将在桌面上安装相关的公用文件夹。
第三种解决办法
您只需在linux机器上运行一个simpleHTTP服务器,然后在另一台机器上访问它。
脚步 :
-
首先从要共享的文件夹启动终端。
-
在终端中运行 –
python -m SimpleHTTPServer
-
使用
ifconfig
检查您的IP。 -
在另一台机器的浏览器中输入ip地址:8000(例如:如果您的IP是127.3.4.123,那么在浏览器中键入127.3.4.123:8000)
您将获得要下载的文件夹中的所需文件。
第四种办法
我相信这是SAMBA软件包列出的内容,或者它至少是其描述的一部分。作为替代方案,您可以尝试首选项 – >文件共享,我相信它使用不同的机制。 Samba是一个方便安装的东西。
第五种办法
如果您想在Ubuntu中进行无缝集成,并且您对Windows兼容性不感兴趣,那么SSH就是您的最佳选择。
请参阅How can I share files between two Linux machines over LAN?
您可能需要安装SSH服务器:
sudo apt-get install openssh-server
从客户端上的file-manager应用程序,您可以通过以下方式访问您的服务器:
sftp://servername.local
要从终端或以编程方式访问文件,请使用sshfs
在客户端的文件系统中创建mount-point。