42

Is there any links/tutorials/videos that helps me share files between Ubuntu and Mac OSX?

1
  • This should be a site for questions and self-contained answers, not links.
    – Melebius
    Jul 3, 2017 at 3:33

14 Answers 14

23

Setup a Samba Server in Ubuntu

In OSX:

  • Open a finder window and hit cmd-K
  • Type 'smb://ipAddress' where 'ipAddress' is your ipaddress
  • Select the share you're connecting to (as per the samba setup)
  • Authenticate
  • It should mount the share the same as it mounts anything else

In Windows:

  • Configure your firewall to allow smb connections if it doesn't already
  • Open Start->Run
  • Type '\ipAddress' where 'ipAddress' is your ipaddress
  • Authenticate
  • Under the 'Network Places' folder the shared folders should appear

Here's a really long drawn-out explanation for windows including how to setup the server in *nix.

Samba is basically Windows NFS (Network File System) that is completely cross platform and easier to setup/use.

Note: There is a GUI tool for configuring Samba but I can't remember how to access it off the top of my head. Also, I think you can connect to Samba in OSX under connect-to (or something similar) from the top bar menu but I can't remember exactly what it's called since I haven't used a mac in over 6 years.

IMHO, this method is a lot easier and straight forward to use than FTP because it mounts the remote folder as if it's a local folder on your system. It doesn't get much more transparent than that.

6
  • 9
    uh... Windows? Question is about Mac and Ubuntu.. I don't know how, but I am pretty sure you doesn't need Samba to connect a Mac and a Linux box. If I am wrong, please point me out.
    – H_7
    Feb 26, 2012 at 21:44
  • What my experience is, is that AFP on Ubuntu using netatalk is way slower than Samba.
    – Koen.
    Sep 19, 2012 at 10:34
  • 1
    Although this contains extra info re:Windows it simply solves the connection issue with a Mac by using smb://ipAddress No extra module installation required! AFP is fine, but then you have the reverse issue of getting Windows machines connected.
    – Duncanmoo
    Sep 27, 2013 at 7:09
  • Don't forget about this solution: askubuntu.com/a/561391/306972
    – Blairg23
    Oct 17, 2016 at 6:02
  • I agree with this being the easiest and most bulletproof implementation.
    – Joshua K
    Jun 8, 2017 at 2:56
15

A bit of Google-fu found a guide for Ubuntu 10.04 (Lucid) and Mac OS X. I haven't got a Mac handy to test on, so haven't tested it.

7
  • 2
    Bravo! Was looking for that info since October 20, 2004!
    – Déjà vu
    Jan 3, 2011 at 15:59
  • @fluteflute hi, The link is broken, is there another one? Jun 19, 2013 at 16:33
  • 1
    @LuisAlvarado: have updated with a archived version of the page. Of course it's three years old so the method may no longer work.
    – 8128
    Jun 20, 2013 at 7:57
  • It still works with Ubuntu 15.05
    – CharlesB
    Aug 5, 2015 at 14:12
  • 1
    @JoshuaK Did you encounter any issue with this method (AFP server on Linux)? Nov 14, 2019 at 5:59
9

I accomplished this by doing the following:

I have a Mac OS 10.4 (Tiger) on a G5 PowerPC and Ubuntu on an Acer Aspire One.

  1. In mac OS, go to system preferences>sharing and enable "Personal File Sharing"

  2. In Ubuntu open DashHome and open "Files" folder. (or however you know how to get to the files folder.)

  3. In the sidebar, choose "Browse Network"

  4. As long as the two machines are on the same network, your mac should be in there as a directory that you can mount within Ubuntu.

I had very little idea what do do, having only ready this page, and it turned out pretty easy. It works for me, sharing files within a home office. It wouldn't work if you need to work remotely because you would be off your own network.

2
  • The above looks great, but: On Ubuntu 20.04 I open Files (also called Nautilus) -> Other Locations -> I choose "MacBook Pro ..." under Networks. Then I am asked for Username, Domain, Password. But no matter whether I use name and password for the Mac or Ubuntu it doesn't work. And what is "Domain"?
    – Henrik R.
    Apr 11, 2021 at 13:56
  • To connect to the MacBook from Ubuntu I had to use Terminal commands. See discussions.apple.com/thread/252656492
    – Henrik R.
    Apr 15, 2021 at 12:45
4

so many answers and none correct, using SAMBA is ridiculous, SAMBA is poor mans version of NFS, NFS is the way to go, it's native to almost all unix distributions and its faster and better than SAMBA which is only popular because windows doesn't talk NFS, if you want all three to share (win, ubu, mac) then yes, SAMBA, if just mac and ubuntu, their native share option is nfs.

Sometimes comes installed with the OS, if not sudo apt-get install nfs-kernel-server (or brew) for a full tutorial go here

2
  • 4
    Can you please expand on your answer? At the moment, it's primarily opinion based, and provides very little in the way of an answer. Providing a quick little step by step tutorial would be ideal :) Nov 25, 2016 at 0:36
  • Sorry, am not an expert on this, I know what I know Oct 29, 2023 at 13:59
3

I am on Ubuntu 14.04 My aim is to share all external device which registered under /media (e.g. external hdd, enternal optical drive) with my Mac OS X (yosemith)

On Ubuntu, Open a Terminal windows

$sudo nautilus

Enter your root password when prompt

A nautilus window will be opened, browse to system /media

Right click an choose Properties. Click Share. Click Guest Share. Apply changes.

On Mac Os X, Open Finder, Click Go to server Command + K Enter the Ubuntu IP and click Guest

1
  • 1
    This also works if you r-click on a folder and go to sharing options and choose the "Share this folder". The first time you do it, it will prompt you to install samba. When connecting from OS X, be sure to use the correct protocol: smb://[ip address] May 4, 2016 at 18:37
3

HTTP server

HTTP is the protocol used to access regular websites, so every OS was forced to implement it!

Find your IP on the source computer, e.g. 192.168.0.10. On Ubuntu or Mac OS:

ifconfig

Create a server in a directory that contains the file you want to transfer:

python -m SimpleHTTPServer 8080

On the receiving computer, open a browser, and visit:

192.168.0.10:8080

Now you can navigate through directories to the file you want.

I'm not sure if this method is fast / robust, but it is one of the simplest to setup and portable.

Faster alternatives are discussed at: https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver

rsync

SSH works really easily on MacOS and Ubuntu, and so we can very easily use Rsync.

First make sure you can SSH from one computer to the other.

You can enable the MacOS SSH server from the CLI as explained at: http://osxdaily.com/2016/08/16/enable-ssh-mac-command-line/

sudo systemsetup -setremotelogin on

Now, from you Ubuntu make sure you can access the Mac:

ssh [email protected]

You can create a new account for the user if you want to keep your password private.

Then, once you managed to login, to copy files from the server to client just do:

rsync -av [email protected]:/full/path/to/remote/directory .

Multiple directories can be copied in one go as explained at https://unix.stackexchange.com/questions/308810/copying-multiple-files-using-rsync-over-ssh:

rsync -av '[email protected]:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .

This is the lowest common denominator method: most robust, efficient, widely Linux available and security relies on well known file permissions + user schemes.

Tested between Ubuntu 18.04 and Mac OS 10.13: "High Sierra".

1
  • 1
    The HTTP method is fantastic for a one-off transfer. 🙌
    – 8128
    Jun 3, 2023 at 15:56
2

Samba works well in my setup, a home network with three Macs and a server running Ubuntu (since 9.04, currently at 10.10). The Ubuntu machine automatically shows up in the Finder along with the other Macs.

I followed this install guide for the Samba setup. The guide is for Ubuntu server, but it's the same setup and it works the same for the desktop version.

The only change I made was to set the "create mask" to 0777 ("world writable") instead of 0755, otherwise creating folders on the Ubuntu machine from the Macs didn't work properly.

1

If you have a secure local network, it's really the easiest and most reliable, to use an ftp server, also accessible from almost any platform, if you happen to have visiting windows users etc.. https://help.ubuntu.com/10.04/serverguide/C/ftp-server.html

Also most media devices will be able to use ftp if it ever comes to that.

To connect to an ftp server is really simple from a mac http://www.youtube.com/watch?v=GNP48LcNV0Y If you really need to write to the ftp from the mac (finder fails and mounts as read only) check. http://anoved.net/2008/03/macfuse-ftp-and-you/

1

Building on what's been said already, I was able to share files from Ubuntu to Mac just by right clicking the folder I want to share and enabling sharing.

0

If you want a simple type of sharing, you could use Teamviewer, Skype or Yahoo Messenger + gyache in both machines.

Then you could send the file you want. However, this method is relatively slow.

0

I figured out a simple way to connect Ubuntu 13.10 to my imac OS X.

  1. First, I disconnected Wi-Fi on both computers because I wanted to transfer masses on data on cable Ethernet.
  2. Then just plug the Ethernet cable directly between both computers. OS X automatically connects to Ethernet (light turns green in network preference pane on Ethernet). It automatically gives you the IP address and net mask.
  3. Then, in Ubuntu should appear an auto eth in network connections.
  4. Edit this connection by going to ipv4, put on manual, add address (enter IP address and net mask, leave gateway empty, just click in it and leave it to zero, I want to be able to save).
  5. Then check the "require ipv4 addressing...." at the bottom. I left everything else untouched in the connections edit.

Then it worked, both computers connected. But to access the folders on my mac, it didn't work immediately, I had to wait a bit. But then it all worked! and now I'm transferring files at 23 mb/sec.

have fun

2
  • 4
    Are you using an Ethernet crossover cable, or are the two computers connected by cable to a router?
    – user68186
    Jan 2, 2014 at 16:23
  • Wow... Disconnecting from the network and connecting a cable? This is a hassle. For large files, this might be a good idea, because it should be fast, but I'd probably choose a temporary medium like an external drive instead.
    – Joshua K
    Jun 8, 2017 at 3:08
0

Very useful, and quite simple, for sharing files and directories between Mac and Linux (and many other platforms) is Syncthing. I use it to share folders from my Macbook Air to Linux Mint. If you want to do a one-way sync set your source folder as "Send Only" in advanced settings for that folder so that files deleted on the receiving computer's folder are not deleted from the source computer's folder.

0

There are possible modern solutions that use HTML5 network discovery for this. You simply need to:

  • be on the same network
  • use a modern up-to-date browser

The only free platform that allows this to my knowledge is ShareDrop, if anyone has any others feel free to add it.

0

In Catalina (10.15) the first thing to do is enable SSH:

$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

Then open System Preferences > Sharing > Remote Login. From there you will see your IP (say 192.168.0.102)

Finally you can use rsync (recommended) or another copy command from the destination CLI:

rsync [email protected]:~/file /destination/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .