How to share files through the local network?












63















I have a desktop (Ubuntu 13.04 & Win 7 Home Premium) and a Laptop (Ubuntu 12.04), both having WiFi adapters. I also have a WiFi router connected to internet which both my computers can access.



I want to share files between my desktop and my laptop using WiFi (similar to Homegroup on Windows 7 but without using Ethernet cables). How do I set-up that?



I want to share files using both OSs, if anyone have have information about sharing files with any of the OS please answer!










share|improve this question




















  • 7





    Related: askubuntu.com/questions/107208/…

    – Lucio
    Sep 25 '15 at 4:28






  • 1





    This is not a duplicate, as it asks about file sharing between Ubuntu and Windows as well as Ubuntu and Ubuntu machines. Note the desktop has both Ubuntu and Windows. When it is booted to Ubuntu and the laptop has Ubuntu, you have Ubuntu to Ubuntu file sharing.

    – user68186
    Sep 10 '17 at 20:57
















63















I have a desktop (Ubuntu 13.04 & Win 7 Home Premium) and a Laptop (Ubuntu 12.04), both having WiFi adapters. I also have a WiFi router connected to internet which both my computers can access.



I want to share files between my desktop and my laptop using WiFi (similar to Homegroup on Windows 7 but without using Ethernet cables). How do I set-up that?



I want to share files using both OSs, if anyone have have information about sharing files with any of the OS please answer!










share|improve this question




















  • 7





    Related: askubuntu.com/questions/107208/…

    – Lucio
    Sep 25 '15 at 4:28






  • 1





    This is not a duplicate, as it asks about file sharing between Ubuntu and Windows as well as Ubuntu and Ubuntu machines. Note the desktop has both Ubuntu and Windows. When it is booted to Ubuntu and the laptop has Ubuntu, you have Ubuntu to Ubuntu file sharing.

    – user68186
    Sep 10 '17 at 20:57














63












63








63


41






I have a desktop (Ubuntu 13.04 & Win 7 Home Premium) and a Laptop (Ubuntu 12.04), both having WiFi adapters. I also have a WiFi router connected to internet which both my computers can access.



I want to share files between my desktop and my laptop using WiFi (similar to Homegroup on Windows 7 but without using Ethernet cables). How do I set-up that?



I want to share files using both OSs, if anyone have have information about sharing files with any of the OS please answer!










share|improve this question
















I have a desktop (Ubuntu 13.04 & Win 7 Home Premium) and a Laptop (Ubuntu 12.04), both having WiFi adapters. I also have a WiFi router connected to internet which both my computers can access.



I want to share files between my desktop and my laptop using WiFi (similar to Homegroup on Windows 7 but without using Ethernet cables). How do I set-up that?



I want to share files using both OSs, if anyone have have information about sharing files with any of the OS please answer!







networking file-sharing






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Sep 25 '15 at 4:26









Lucio

12.6k2385161




12.6k2385161










asked Jun 19 '13 at 14:18









GauravGaurav

5802616




5802616








  • 7





    Related: askubuntu.com/questions/107208/…

    – Lucio
    Sep 25 '15 at 4:28






  • 1





    This is not a duplicate, as it asks about file sharing between Ubuntu and Windows as well as Ubuntu and Ubuntu machines. Note the desktop has both Ubuntu and Windows. When it is booted to Ubuntu and the laptop has Ubuntu, you have Ubuntu to Ubuntu file sharing.

    – user68186
    Sep 10 '17 at 20:57














  • 7





    Related: askubuntu.com/questions/107208/…

    – Lucio
    Sep 25 '15 at 4:28






  • 1





    This is not a duplicate, as it asks about file sharing between Ubuntu and Windows as well as Ubuntu and Ubuntu machines. Note the desktop has both Ubuntu and Windows. When it is booted to Ubuntu and the laptop has Ubuntu, you have Ubuntu to Ubuntu file sharing.

    – user68186
    Sep 10 '17 at 20:57








7




7





Related: askubuntu.com/questions/107208/…

– Lucio
Sep 25 '15 at 4:28





Related: askubuntu.com/questions/107208/…

– Lucio
Sep 25 '15 at 4:28




1




1





This is not a duplicate, as it asks about file sharing between Ubuntu and Windows as well as Ubuntu and Ubuntu machines. Note the desktop has both Ubuntu and Windows. When it is booted to Ubuntu and the laptop has Ubuntu, you have Ubuntu to Ubuntu file sharing.

– user68186
Sep 10 '17 at 20:57





This is not a duplicate, as it asks about file sharing between Ubuntu and Windows as well as Ubuntu and Ubuntu machines. Note the desktop has both Ubuntu and Windows. When it is booted to Ubuntu and the laptop has Ubuntu, you have Ubuntu to Ubuntu file sharing.

– user68186
Sep 10 '17 at 20:57










3 Answers
3






active

oldest

votes


















75














Network Setup



Connect both the desktop and laptop to the WiFi router using standard setup. To check that both computers are connected, test that you can get on the Internet from both computers.



Optional: In the router setup, see the local IP addresses assigned to the desktop and the laptop. These may look like 192.168.0.100 or 192.168.1.199. If an option to assign these specific IP addresses permanently in the router exist, you can do that.





Windows → Ubuntu



Step 1 On the laptop create a folder you want to share. There may be a folder called "Public" choose that one if you want. Right click the folder icon and choose "Sharing Options." A new window will open up:



enter image description here



Check the box "Share this folder."



You may also want to check the other two boxes "Allow others to create and delete files in this folder." This will allow you the desktop Windows user to create and delete files on this folder.



The "Guest Access" check box is self explanatory. This may be useful if your Windows userID is not exactly the same as your Ubuntu user ID.



It may tell you Sharing service is not installed:



enter image description here



Click "Install Service" and let it install the software by providing the password for the laptop user account when it prompts. You may be prompted to install more software like libpam-smbpass. Install all the software. It will ask you to restart services and click Yes.



Step 2. Open the property window of the "Public" folder, by right clicking on it. Go to the permissions tab and make sure it looks like this:



enter image description here



Click on "Change permissions of enclosed files" button and make sure it looks like this:



enter image description here



Now you should be able to edit files created in ubuntu in the "Public" folder of the laptop in the Windows Explorer.



However, if you create a file in Windows and put it in the Public folder of the laptop you may not be able to open that file when you get to the laptop. This is because Windows and Ubuntu do not understand each other's file ownership and permissions. So in the Ubuntu laptop, the file created by Windows is owned by "Nobody". You will have to open Nautilus as an Administrator and change the ownership and read-write permissions while in the laptop.



Step 3. Go to the Windows on the desktop computer and open Windows Explorer, Click on the triangle next to Network on the left panel. From the drop-down list you should be able to select the name of the laptop computer running Ubuntu.



Now you should be able to see your shared folder (say "Public") from the laptop in the Windows Explorer. Click on "Public" folder and see the files in the folder. You should be able to copy files from the Public folder in Ubuntu to your Windows local folder.



Here is a step by step guide with some more details.





Ubuntu → Windows



Step 1 Setup Windows folder sharing using methods available for Windows. follow the steps in the link above for the Windows part.



Step 2 Open a terminal in the Ubuntu laptop by pressing Ctrl+Alt+T and enter:



sudo -H gedit /etc/samba/smb.conf


and look for the line:



;   name resolve order = lmhosts host wins bcast


and edit it to look like this



   name resolve order = bcast lmhosts host wins 


Note, there is no ; in the beginning of the edited line. Save the file and exit gedit. Enter the following two lines (one at a time) to stop and start samba:



sudo stop smbd
sudo start smbd


Step 3 On the laptop, open Nautilus, the file browser and click on Network on the left panel. Click on "Browse Network" Click through the icons in the main Network window of Nautilus and find your Windows Desktop and shared folder. Verify you can copy files from and to this folder.



See "Failed to retrieve share list from server" error when browsing a share with Nautilus for reference on editing the smb.conf.





Ubuntu → Ubuntu



Boot the desktop to Ubuntu.



On both the desktop and the laptop do the following to make sure ssh-server is intalled:



Open a terminal by pressing Ctrl+Alt+T and enter



sudo apt-get install openssh-server


Enter your password when prompted. The cursor will not move when you enter the password. This is normal.



This will install the ssh-server if it is not already installed. If already installed, it will do nothing.



The Desktop First:



Open Nautilus and find the Menu item "Connect to server".



sftp connection



Under Server Address Enter:



sftp://laptop_user_id@laptop_name.local/home/laptop_user_id


where laptop_user_id is the user ID you created for on your laptop. You can find your user ID by typing whoami in a terminal. And laptop_name is the name you gave to the laptop when you installed Ubuntu.



If you want to share a partition in your second hard drive of the desktop, under Server Address Enter:



sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive


Replace path/to/.../drive with the actual path.



Alternately, if you know the local IP address of your laptop you can replace laptop_name.local with the local IP address of the laptop.



Press Connect. You will see a password dialog box:



Password for SSH



Enter the password associated with laptop_user_id and select if you want the password is to be remembered or not. Again click Connect.



Now you should see your home folder of the laptop.



Notice there is a new entry under Network on the left panel of Nautilus that begins with laptop_user_id. Right click on it and choose "Add Bookmark" to create a permanent bookmark for your laptop's home folder in the Nautilus of the Desktop.



See this page for pictures from an older version.



Now the laptop



Follow the same process as the desktop above.






share|improve this answer


























  • I'll try Ur method and will reply U, till then Thank U very much for answer! -to user68186

    – Gaurav
    Jun 21 '13 at 16:45











  • I'm trying Ubuntu to Ubuntu I installed SSH from terminal and when I click connect to server I get a window 'Server Address' where they given example enter address as smb://foo.example.org, Where I can select SSH from any drop down menu?

    – Gaurav
    Jul 5 '13 at 4:57











  • Above process for Ubuntu to Ubuntu is done successfully from my laptop but my desktop says Don't have permission to access the requested location. What I should do?

    – Gaurav
    Jul 18 '13 at 4:39






  • 2





    :) Done, I installed SSH in my laptop as U said and my work done, now I can see My laptop in my Desktop and my Desktop in my Laptop, Thanks alot and Thank U very much for time U spent for this question.

    – Gaurav
    Jul 18 '13 at 16:48






  • 2





    @Gaurav Samba is a service that runs in the background. There is no graphical user interface by that name. That's why you won't find it in Dash. In which step are you getting stuck? Can you see the shared folder in Windows from Ubuntu? Can you see the shared folder in Ubuntu from Windows?

    – user68186
    Jul 20 '13 at 1:00



















2














I am going to propose some alternatives that don't look exactly like SAMBA, but could be better for other use cases.



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:



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



Between two Ubuntu computers, this is a great option: https://en.wikipedia.org/wiki/Rsync



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



ssh server-username@192.168.0.10


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



You might need to run on server and client:



sudo apt-get install ssh


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



rsync -av server-username@192.168.0.10:/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 'server-username@192.168.0.10:/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.



This might not be easy on Windows thought:





  • https://serverfault.com/questions/8411/what-is-a-good-ssh-server-to-use-on-windows),

  • https://superuser.com/questions/300263/how-to-use-rsync-from-windows-pc-to-remote-linux-server


NFS



Again mostly for two Ubuntu machines, this is the SAMBA for Linux, with support built into the Linux kernel: https://en.wikipedia.org/wiki/Network_File_System



Basically it allows you to mount a folder from the server on the guest.



Setup and troubleshooting is potentially a bit harder than rsync, but definitely doable, this is a good article: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-16-04



Maybe there is also some Windows implementation: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview but I'm guessing Microsoft must give better support to its own SMB protocol.






share|improve this answer

































    1














    sudo apt-get install servefile


    servefile is perfect for casual sharing, it runs an http server on port 8080 (unless -p <port> is specified), so it can communicate fast with any device with a browser.



    Examples:




    • servefile filename # Just serves a file


      I get 3 URLs because I have 3 IP's from 3 different LANs, normally you would get just 1, but it's awesome it shows you that.


    • servefile -u ~/Pictures # Let's you upload files into Pictures folder
      upload files


    • servefile -l ~/Pictures # Serves the content of the folder
      content of the folder


    • servefile -tc gzip ~/Pictures # construct a tar file from any file or folder and compress it on the fly
      enter image description here



    BTW with this method I reached 1Gbps transfer speed (maximum speed of my LAN), window's folder sharing protocol wasn't even near that speed.






    share|improve this answer

























      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "89"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f310180%2fhow-to-share-files-through-the-local-network%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      75














      Network Setup



      Connect both the desktop and laptop to the WiFi router using standard setup. To check that both computers are connected, test that you can get on the Internet from both computers.



      Optional: In the router setup, see the local IP addresses assigned to the desktop and the laptop. These may look like 192.168.0.100 or 192.168.1.199. If an option to assign these specific IP addresses permanently in the router exist, you can do that.





      Windows → Ubuntu



      Step 1 On the laptop create a folder you want to share. There may be a folder called "Public" choose that one if you want. Right click the folder icon and choose "Sharing Options." A new window will open up:



      enter image description here



      Check the box "Share this folder."



      You may also want to check the other two boxes "Allow others to create and delete files in this folder." This will allow you the desktop Windows user to create and delete files on this folder.



      The "Guest Access" check box is self explanatory. This may be useful if your Windows userID is not exactly the same as your Ubuntu user ID.



      It may tell you Sharing service is not installed:



      enter image description here



      Click "Install Service" and let it install the software by providing the password for the laptop user account when it prompts. You may be prompted to install more software like libpam-smbpass. Install all the software. It will ask you to restart services and click Yes.



      Step 2. Open the property window of the "Public" folder, by right clicking on it. Go to the permissions tab and make sure it looks like this:



      enter image description here



      Click on "Change permissions of enclosed files" button and make sure it looks like this:



      enter image description here



      Now you should be able to edit files created in ubuntu in the "Public" folder of the laptop in the Windows Explorer.



      However, if you create a file in Windows and put it in the Public folder of the laptop you may not be able to open that file when you get to the laptop. This is because Windows and Ubuntu do not understand each other's file ownership and permissions. So in the Ubuntu laptop, the file created by Windows is owned by "Nobody". You will have to open Nautilus as an Administrator and change the ownership and read-write permissions while in the laptop.



      Step 3. Go to the Windows on the desktop computer and open Windows Explorer, Click on the triangle next to Network on the left panel. From the drop-down list you should be able to select the name of the laptop computer running Ubuntu.



      Now you should be able to see your shared folder (say "Public") from the laptop in the Windows Explorer. Click on "Public" folder and see the files in the folder. You should be able to copy files from the Public folder in Ubuntu to your Windows local folder.



      Here is a step by step guide with some more details.





      Ubuntu → Windows



      Step 1 Setup Windows folder sharing using methods available for Windows. follow the steps in the link above for the Windows part.



      Step 2 Open a terminal in the Ubuntu laptop by pressing Ctrl+Alt+T and enter:



      sudo -H gedit /etc/samba/smb.conf


      and look for the line:



      ;   name resolve order = lmhosts host wins bcast


      and edit it to look like this



         name resolve order = bcast lmhosts host wins 


      Note, there is no ; in the beginning of the edited line. Save the file and exit gedit. Enter the following two lines (one at a time) to stop and start samba:



      sudo stop smbd
      sudo start smbd


      Step 3 On the laptop, open Nautilus, the file browser and click on Network on the left panel. Click on "Browse Network" Click through the icons in the main Network window of Nautilus and find your Windows Desktop and shared folder. Verify you can copy files from and to this folder.



      See "Failed to retrieve share list from server" error when browsing a share with Nautilus for reference on editing the smb.conf.





      Ubuntu → Ubuntu



      Boot the desktop to Ubuntu.



      On both the desktop and the laptop do the following to make sure ssh-server is intalled:



      Open a terminal by pressing Ctrl+Alt+T and enter



      sudo apt-get install openssh-server


      Enter your password when prompted. The cursor will not move when you enter the password. This is normal.



      This will install the ssh-server if it is not already installed. If already installed, it will do nothing.



      The Desktop First:



      Open Nautilus and find the Menu item "Connect to server".



      sftp connection



      Under Server Address Enter:



      sftp://laptop_user_id@laptop_name.local/home/laptop_user_id


      where laptop_user_id is the user ID you created for on your laptop. You can find your user ID by typing whoami in a terminal. And laptop_name is the name you gave to the laptop when you installed Ubuntu.



      If you want to share a partition in your second hard drive of the desktop, under Server Address Enter:



      sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive


      Replace path/to/.../drive with the actual path.



      Alternately, if you know the local IP address of your laptop you can replace laptop_name.local with the local IP address of the laptop.



      Press Connect. You will see a password dialog box:



      Password for SSH



      Enter the password associated with laptop_user_id and select if you want the password is to be remembered or not. Again click Connect.



      Now you should see your home folder of the laptop.



      Notice there is a new entry under Network on the left panel of Nautilus that begins with laptop_user_id. Right click on it and choose "Add Bookmark" to create a permanent bookmark for your laptop's home folder in the Nautilus of the Desktop.



      See this page for pictures from an older version.



      Now the laptop



      Follow the same process as the desktop above.






      share|improve this answer


























      • I'll try Ur method and will reply U, till then Thank U very much for answer! -to user68186

        – Gaurav
        Jun 21 '13 at 16:45











      • I'm trying Ubuntu to Ubuntu I installed SSH from terminal and when I click connect to server I get a window 'Server Address' where they given example enter address as smb://foo.example.org, Where I can select SSH from any drop down menu?

        – Gaurav
        Jul 5 '13 at 4:57











      • Above process for Ubuntu to Ubuntu is done successfully from my laptop but my desktop says Don't have permission to access the requested location. What I should do?

        – Gaurav
        Jul 18 '13 at 4:39






      • 2





        :) Done, I installed SSH in my laptop as U said and my work done, now I can see My laptop in my Desktop and my Desktop in my Laptop, Thanks alot and Thank U very much for time U spent for this question.

        – Gaurav
        Jul 18 '13 at 16:48






      • 2





        @Gaurav Samba is a service that runs in the background. There is no graphical user interface by that name. That's why you won't find it in Dash. In which step are you getting stuck? Can you see the shared folder in Windows from Ubuntu? Can you see the shared folder in Ubuntu from Windows?

        – user68186
        Jul 20 '13 at 1:00
















      75














      Network Setup



      Connect both the desktop and laptop to the WiFi router using standard setup. To check that both computers are connected, test that you can get on the Internet from both computers.



      Optional: In the router setup, see the local IP addresses assigned to the desktop and the laptop. These may look like 192.168.0.100 or 192.168.1.199. If an option to assign these specific IP addresses permanently in the router exist, you can do that.





      Windows → Ubuntu



      Step 1 On the laptop create a folder you want to share. There may be a folder called "Public" choose that one if you want. Right click the folder icon and choose "Sharing Options." A new window will open up:



      enter image description here



      Check the box "Share this folder."



      You may also want to check the other two boxes "Allow others to create and delete files in this folder." This will allow you the desktop Windows user to create and delete files on this folder.



      The "Guest Access" check box is self explanatory. This may be useful if your Windows userID is not exactly the same as your Ubuntu user ID.



      It may tell you Sharing service is not installed:



      enter image description here



      Click "Install Service" and let it install the software by providing the password for the laptop user account when it prompts. You may be prompted to install more software like libpam-smbpass. Install all the software. It will ask you to restart services and click Yes.



      Step 2. Open the property window of the "Public" folder, by right clicking on it. Go to the permissions tab and make sure it looks like this:



      enter image description here



      Click on "Change permissions of enclosed files" button and make sure it looks like this:



      enter image description here



      Now you should be able to edit files created in ubuntu in the "Public" folder of the laptop in the Windows Explorer.



      However, if you create a file in Windows and put it in the Public folder of the laptop you may not be able to open that file when you get to the laptop. This is because Windows and Ubuntu do not understand each other's file ownership and permissions. So in the Ubuntu laptop, the file created by Windows is owned by "Nobody". You will have to open Nautilus as an Administrator and change the ownership and read-write permissions while in the laptop.



      Step 3. Go to the Windows on the desktop computer and open Windows Explorer, Click on the triangle next to Network on the left panel. From the drop-down list you should be able to select the name of the laptop computer running Ubuntu.



      Now you should be able to see your shared folder (say "Public") from the laptop in the Windows Explorer. Click on "Public" folder and see the files in the folder. You should be able to copy files from the Public folder in Ubuntu to your Windows local folder.



      Here is a step by step guide with some more details.





      Ubuntu → Windows



      Step 1 Setup Windows folder sharing using methods available for Windows. follow the steps in the link above for the Windows part.



      Step 2 Open a terminal in the Ubuntu laptop by pressing Ctrl+Alt+T and enter:



      sudo -H gedit /etc/samba/smb.conf


      and look for the line:



      ;   name resolve order = lmhosts host wins bcast


      and edit it to look like this



         name resolve order = bcast lmhosts host wins 


      Note, there is no ; in the beginning of the edited line. Save the file and exit gedit. Enter the following two lines (one at a time) to stop and start samba:



      sudo stop smbd
      sudo start smbd


      Step 3 On the laptop, open Nautilus, the file browser and click on Network on the left panel. Click on "Browse Network" Click through the icons in the main Network window of Nautilus and find your Windows Desktop and shared folder. Verify you can copy files from and to this folder.



      See "Failed to retrieve share list from server" error when browsing a share with Nautilus for reference on editing the smb.conf.





      Ubuntu → Ubuntu



      Boot the desktop to Ubuntu.



      On both the desktop and the laptop do the following to make sure ssh-server is intalled:



      Open a terminal by pressing Ctrl+Alt+T and enter



      sudo apt-get install openssh-server


      Enter your password when prompted. The cursor will not move when you enter the password. This is normal.



      This will install the ssh-server if it is not already installed. If already installed, it will do nothing.



      The Desktop First:



      Open Nautilus and find the Menu item "Connect to server".



      sftp connection



      Under Server Address Enter:



      sftp://laptop_user_id@laptop_name.local/home/laptop_user_id


      where laptop_user_id is the user ID you created for on your laptop. You can find your user ID by typing whoami in a terminal. And laptop_name is the name you gave to the laptop when you installed Ubuntu.



      If you want to share a partition in your second hard drive of the desktop, under Server Address Enter:



      sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive


      Replace path/to/.../drive with the actual path.



      Alternately, if you know the local IP address of your laptop you can replace laptop_name.local with the local IP address of the laptop.



      Press Connect. You will see a password dialog box:



      Password for SSH



      Enter the password associated with laptop_user_id and select if you want the password is to be remembered or not. Again click Connect.



      Now you should see your home folder of the laptop.



      Notice there is a new entry under Network on the left panel of Nautilus that begins with laptop_user_id. Right click on it and choose "Add Bookmark" to create a permanent bookmark for your laptop's home folder in the Nautilus of the Desktop.



      See this page for pictures from an older version.



      Now the laptop



      Follow the same process as the desktop above.






      share|improve this answer


























      • I'll try Ur method and will reply U, till then Thank U very much for answer! -to user68186

        – Gaurav
        Jun 21 '13 at 16:45











      • I'm trying Ubuntu to Ubuntu I installed SSH from terminal and when I click connect to server I get a window 'Server Address' where they given example enter address as smb://foo.example.org, Where I can select SSH from any drop down menu?

        – Gaurav
        Jul 5 '13 at 4:57











      • Above process for Ubuntu to Ubuntu is done successfully from my laptop but my desktop says Don't have permission to access the requested location. What I should do?

        – Gaurav
        Jul 18 '13 at 4:39






      • 2





        :) Done, I installed SSH in my laptop as U said and my work done, now I can see My laptop in my Desktop and my Desktop in my Laptop, Thanks alot and Thank U very much for time U spent for this question.

        – Gaurav
        Jul 18 '13 at 16:48






      • 2





        @Gaurav Samba is a service that runs in the background. There is no graphical user interface by that name. That's why you won't find it in Dash. In which step are you getting stuck? Can you see the shared folder in Windows from Ubuntu? Can you see the shared folder in Ubuntu from Windows?

        – user68186
        Jul 20 '13 at 1:00














      75












      75








      75







      Network Setup



      Connect both the desktop and laptop to the WiFi router using standard setup. To check that both computers are connected, test that you can get on the Internet from both computers.



      Optional: In the router setup, see the local IP addresses assigned to the desktop and the laptop. These may look like 192.168.0.100 or 192.168.1.199. If an option to assign these specific IP addresses permanently in the router exist, you can do that.





      Windows → Ubuntu



      Step 1 On the laptop create a folder you want to share. There may be a folder called "Public" choose that one if you want. Right click the folder icon and choose "Sharing Options." A new window will open up:



      enter image description here



      Check the box "Share this folder."



      You may also want to check the other two boxes "Allow others to create and delete files in this folder." This will allow you the desktop Windows user to create and delete files on this folder.



      The "Guest Access" check box is self explanatory. This may be useful if your Windows userID is not exactly the same as your Ubuntu user ID.



      It may tell you Sharing service is not installed:



      enter image description here



      Click "Install Service" and let it install the software by providing the password for the laptop user account when it prompts. You may be prompted to install more software like libpam-smbpass. Install all the software. It will ask you to restart services and click Yes.



      Step 2. Open the property window of the "Public" folder, by right clicking on it. Go to the permissions tab and make sure it looks like this:



      enter image description here



      Click on "Change permissions of enclosed files" button and make sure it looks like this:



      enter image description here



      Now you should be able to edit files created in ubuntu in the "Public" folder of the laptop in the Windows Explorer.



      However, if you create a file in Windows and put it in the Public folder of the laptop you may not be able to open that file when you get to the laptop. This is because Windows and Ubuntu do not understand each other's file ownership and permissions. So in the Ubuntu laptop, the file created by Windows is owned by "Nobody". You will have to open Nautilus as an Administrator and change the ownership and read-write permissions while in the laptop.



      Step 3. Go to the Windows on the desktop computer and open Windows Explorer, Click on the triangle next to Network on the left panel. From the drop-down list you should be able to select the name of the laptop computer running Ubuntu.



      Now you should be able to see your shared folder (say "Public") from the laptop in the Windows Explorer. Click on "Public" folder and see the files in the folder. You should be able to copy files from the Public folder in Ubuntu to your Windows local folder.



      Here is a step by step guide with some more details.





      Ubuntu → Windows



      Step 1 Setup Windows folder sharing using methods available for Windows. follow the steps in the link above for the Windows part.



      Step 2 Open a terminal in the Ubuntu laptop by pressing Ctrl+Alt+T and enter:



      sudo -H gedit /etc/samba/smb.conf


      and look for the line:



      ;   name resolve order = lmhosts host wins bcast


      and edit it to look like this



         name resolve order = bcast lmhosts host wins 


      Note, there is no ; in the beginning of the edited line. Save the file and exit gedit. Enter the following two lines (one at a time) to stop and start samba:



      sudo stop smbd
      sudo start smbd


      Step 3 On the laptop, open Nautilus, the file browser and click on Network on the left panel. Click on "Browse Network" Click through the icons in the main Network window of Nautilus and find your Windows Desktop and shared folder. Verify you can copy files from and to this folder.



      See "Failed to retrieve share list from server" error when browsing a share with Nautilus for reference on editing the smb.conf.





      Ubuntu → Ubuntu



      Boot the desktop to Ubuntu.



      On both the desktop and the laptop do the following to make sure ssh-server is intalled:



      Open a terminal by pressing Ctrl+Alt+T and enter



      sudo apt-get install openssh-server


      Enter your password when prompted. The cursor will not move when you enter the password. This is normal.



      This will install the ssh-server if it is not already installed. If already installed, it will do nothing.



      The Desktop First:



      Open Nautilus and find the Menu item "Connect to server".



      sftp connection



      Under Server Address Enter:



      sftp://laptop_user_id@laptop_name.local/home/laptop_user_id


      where laptop_user_id is the user ID you created for on your laptop. You can find your user ID by typing whoami in a terminal. And laptop_name is the name you gave to the laptop when you installed Ubuntu.



      If you want to share a partition in your second hard drive of the desktop, under Server Address Enter:



      sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive


      Replace path/to/.../drive with the actual path.



      Alternately, if you know the local IP address of your laptop you can replace laptop_name.local with the local IP address of the laptop.



      Press Connect. You will see a password dialog box:



      Password for SSH



      Enter the password associated with laptop_user_id and select if you want the password is to be remembered or not. Again click Connect.



      Now you should see your home folder of the laptop.



      Notice there is a new entry under Network on the left panel of Nautilus that begins with laptop_user_id. Right click on it and choose "Add Bookmark" to create a permanent bookmark for your laptop's home folder in the Nautilus of the Desktop.



      See this page for pictures from an older version.



      Now the laptop



      Follow the same process as the desktop above.






      share|improve this answer















      Network Setup



      Connect both the desktop and laptop to the WiFi router using standard setup. To check that both computers are connected, test that you can get on the Internet from both computers.



      Optional: In the router setup, see the local IP addresses assigned to the desktop and the laptop. These may look like 192.168.0.100 or 192.168.1.199. If an option to assign these specific IP addresses permanently in the router exist, you can do that.





      Windows → Ubuntu



      Step 1 On the laptop create a folder you want to share. There may be a folder called "Public" choose that one if you want. Right click the folder icon and choose "Sharing Options." A new window will open up:



      enter image description here



      Check the box "Share this folder."



      You may also want to check the other two boxes "Allow others to create and delete files in this folder." This will allow you the desktop Windows user to create and delete files on this folder.



      The "Guest Access" check box is self explanatory. This may be useful if your Windows userID is not exactly the same as your Ubuntu user ID.



      It may tell you Sharing service is not installed:



      enter image description here



      Click "Install Service" and let it install the software by providing the password for the laptop user account when it prompts. You may be prompted to install more software like libpam-smbpass. Install all the software. It will ask you to restart services and click Yes.



      Step 2. Open the property window of the "Public" folder, by right clicking on it. Go to the permissions tab and make sure it looks like this:



      enter image description here



      Click on "Change permissions of enclosed files" button and make sure it looks like this:



      enter image description here



      Now you should be able to edit files created in ubuntu in the "Public" folder of the laptop in the Windows Explorer.



      However, if you create a file in Windows and put it in the Public folder of the laptop you may not be able to open that file when you get to the laptop. This is because Windows and Ubuntu do not understand each other's file ownership and permissions. So in the Ubuntu laptop, the file created by Windows is owned by "Nobody". You will have to open Nautilus as an Administrator and change the ownership and read-write permissions while in the laptop.



      Step 3. Go to the Windows on the desktop computer and open Windows Explorer, Click on the triangle next to Network on the left panel. From the drop-down list you should be able to select the name of the laptop computer running Ubuntu.



      Now you should be able to see your shared folder (say "Public") from the laptop in the Windows Explorer. Click on "Public" folder and see the files in the folder. You should be able to copy files from the Public folder in Ubuntu to your Windows local folder.



      Here is a step by step guide with some more details.





      Ubuntu → Windows



      Step 1 Setup Windows folder sharing using methods available for Windows. follow the steps in the link above for the Windows part.



      Step 2 Open a terminal in the Ubuntu laptop by pressing Ctrl+Alt+T and enter:



      sudo -H gedit /etc/samba/smb.conf


      and look for the line:



      ;   name resolve order = lmhosts host wins bcast


      and edit it to look like this



         name resolve order = bcast lmhosts host wins 


      Note, there is no ; in the beginning of the edited line. Save the file and exit gedit. Enter the following two lines (one at a time) to stop and start samba:



      sudo stop smbd
      sudo start smbd


      Step 3 On the laptop, open Nautilus, the file browser and click on Network on the left panel. Click on "Browse Network" Click through the icons in the main Network window of Nautilus and find your Windows Desktop and shared folder. Verify you can copy files from and to this folder.



      See "Failed to retrieve share list from server" error when browsing a share with Nautilus for reference on editing the smb.conf.





      Ubuntu → Ubuntu



      Boot the desktop to Ubuntu.



      On both the desktop and the laptop do the following to make sure ssh-server is intalled:



      Open a terminal by pressing Ctrl+Alt+T and enter



      sudo apt-get install openssh-server


      Enter your password when prompted. The cursor will not move when you enter the password. This is normal.



      This will install the ssh-server if it is not already installed. If already installed, it will do nothing.



      The Desktop First:



      Open Nautilus and find the Menu item "Connect to server".



      sftp connection



      Under Server Address Enter:



      sftp://laptop_user_id@laptop_name.local/home/laptop_user_id


      where laptop_user_id is the user ID you created for on your laptop. You can find your user ID by typing whoami in a terminal. And laptop_name is the name you gave to the laptop when you installed Ubuntu.



      If you want to share a partition in your second hard drive of the desktop, under Server Address Enter:



      sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive


      Replace path/to/.../drive with the actual path.



      Alternately, if you know the local IP address of your laptop you can replace laptop_name.local with the local IP address of the laptop.



      Press Connect. You will see a password dialog box:



      Password for SSH



      Enter the password associated with laptop_user_id and select if you want the password is to be remembered or not. Again click Connect.



      Now you should see your home folder of the laptop.



      Notice there is a new entry under Network on the left panel of Nautilus that begins with laptop_user_id. Right click on it and choose "Add Bookmark" to create a permanent bookmark for your laptop's home folder in the Nautilus of the Desktop.



      See this page for pictures from an older version.



      Now the laptop



      Follow the same process as the desktop above.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Dec 18 '17 at 17:51

























      answered Jun 19 '13 at 15:08









      user68186user68186

      16.1k84969




      16.1k84969













      • I'll try Ur method and will reply U, till then Thank U very much for answer! -to user68186

        – Gaurav
        Jun 21 '13 at 16:45











      • I'm trying Ubuntu to Ubuntu I installed SSH from terminal and when I click connect to server I get a window 'Server Address' where they given example enter address as smb://foo.example.org, Where I can select SSH from any drop down menu?

        – Gaurav
        Jul 5 '13 at 4:57











      • Above process for Ubuntu to Ubuntu is done successfully from my laptop but my desktop says Don't have permission to access the requested location. What I should do?

        – Gaurav
        Jul 18 '13 at 4:39






      • 2





        :) Done, I installed SSH in my laptop as U said and my work done, now I can see My laptop in my Desktop and my Desktop in my Laptop, Thanks alot and Thank U very much for time U spent for this question.

        – Gaurav
        Jul 18 '13 at 16:48






      • 2





        @Gaurav Samba is a service that runs in the background. There is no graphical user interface by that name. That's why you won't find it in Dash. In which step are you getting stuck? Can you see the shared folder in Windows from Ubuntu? Can you see the shared folder in Ubuntu from Windows?

        – user68186
        Jul 20 '13 at 1:00



















      • I'll try Ur method and will reply U, till then Thank U very much for answer! -to user68186

        – Gaurav
        Jun 21 '13 at 16:45











      • I'm trying Ubuntu to Ubuntu I installed SSH from terminal and when I click connect to server I get a window 'Server Address' where they given example enter address as smb://foo.example.org, Where I can select SSH from any drop down menu?

        – Gaurav
        Jul 5 '13 at 4:57











      • Above process for Ubuntu to Ubuntu is done successfully from my laptop but my desktop says Don't have permission to access the requested location. What I should do?

        – Gaurav
        Jul 18 '13 at 4:39






      • 2





        :) Done, I installed SSH in my laptop as U said and my work done, now I can see My laptop in my Desktop and my Desktop in my Laptop, Thanks alot and Thank U very much for time U spent for this question.

        – Gaurav
        Jul 18 '13 at 16:48






      • 2





        @Gaurav Samba is a service that runs in the background. There is no graphical user interface by that name. That's why you won't find it in Dash. In which step are you getting stuck? Can you see the shared folder in Windows from Ubuntu? Can you see the shared folder in Ubuntu from Windows?

        – user68186
        Jul 20 '13 at 1:00

















      I'll try Ur method and will reply U, till then Thank U very much for answer! -to user68186

      – Gaurav
      Jun 21 '13 at 16:45





      I'll try Ur method and will reply U, till then Thank U very much for answer! -to user68186

      – Gaurav
      Jun 21 '13 at 16:45













      I'm trying Ubuntu to Ubuntu I installed SSH from terminal and when I click connect to server I get a window 'Server Address' where they given example enter address as smb://foo.example.org, Where I can select SSH from any drop down menu?

      – Gaurav
      Jul 5 '13 at 4:57





      I'm trying Ubuntu to Ubuntu I installed SSH from terminal and when I click connect to server I get a window 'Server Address' where they given example enter address as smb://foo.example.org, Where I can select SSH from any drop down menu?

      – Gaurav
      Jul 5 '13 at 4:57













      Above process for Ubuntu to Ubuntu is done successfully from my laptop but my desktop says Don't have permission to access the requested location. What I should do?

      – Gaurav
      Jul 18 '13 at 4:39





      Above process for Ubuntu to Ubuntu is done successfully from my laptop but my desktop says Don't have permission to access the requested location. What I should do?

      – Gaurav
      Jul 18 '13 at 4:39




      2




      2





      :) Done, I installed SSH in my laptop as U said and my work done, now I can see My laptop in my Desktop and my Desktop in my Laptop, Thanks alot and Thank U very much for time U spent for this question.

      – Gaurav
      Jul 18 '13 at 16:48





      :) Done, I installed SSH in my laptop as U said and my work done, now I can see My laptop in my Desktop and my Desktop in my Laptop, Thanks alot and Thank U very much for time U spent for this question.

      – Gaurav
      Jul 18 '13 at 16:48




      2




      2





      @Gaurav Samba is a service that runs in the background. There is no graphical user interface by that name. That's why you won't find it in Dash. In which step are you getting stuck? Can you see the shared folder in Windows from Ubuntu? Can you see the shared folder in Ubuntu from Windows?

      – user68186
      Jul 20 '13 at 1:00





      @Gaurav Samba is a service that runs in the background. There is no graphical user interface by that name. That's why you won't find it in Dash. In which step are you getting stuck? Can you see the shared folder in Windows from Ubuntu? Can you see the shared folder in Ubuntu from Windows?

      – user68186
      Jul 20 '13 at 1:00













      2














      I am going to propose some alternatives that don't look exactly like SAMBA, but could be better for other use cases.



      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:



      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



      Between two Ubuntu computers, this is a great option: https://en.wikipedia.org/wiki/Rsync



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



      ssh server-username@192.168.0.10


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



      You might need to run on server and client:



      sudo apt-get install ssh


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



      rsync -av server-username@192.168.0.10:/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 'server-username@192.168.0.10:/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.



      This might not be easy on Windows thought:





      • https://serverfault.com/questions/8411/what-is-a-good-ssh-server-to-use-on-windows),

      • https://superuser.com/questions/300263/how-to-use-rsync-from-windows-pc-to-remote-linux-server


      NFS



      Again mostly for two Ubuntu machines, this is the SAMBA for Linux, with support built into the Linux kernel: https://en.wikipedia.org/wiki/Network_File_System



      Basically it allows you to mount a folder from the server on the guest.



      Setup and troubleshooting is potentially a bit harder than rsync, but definitely doable, this is a good article: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-16-04



      Maybe there is also some Windows implementation: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview but I'm guessing Microsoft must give better support to its own SMB protocol.






      share|improve this answer






























        2














        I am going to propose some alternatives that don't look exactly like SAMBA, but could be better for other use cases.



        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:



        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



        Between two Ubuntu computers, this is a great option: https://en.wikipedia.org/wiki/Rsync



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



        ssh server-username@192.168.0.10


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



        You might need to run on server and client:



        sudo apt-get install ssh


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



        rsync -av server-username@192.168.0.10:/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 'server-username@192.168.0.10:/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.



        This might not be easy on Windows thought:





        • https://serverfault.com/questions/8411/what-is-a-good-ssh-server-to-use-on-windows),

        • https://superuser.com/questions/300263/how-to-use-rsync-from-windows-pc-to-remote-linux-server


        NFS



        Again mostly for two Ubuntu machines, this is the SAMBA for Linux, with support built into the Linux kernel: https://en.wikipedia.org/wiki/Network_File_System



        Basically it allows you to mount a folder from the server on the guest.



        Setup and troubleshooting is potentially a bit harder than rsync, but definitely doable, this is a good article: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-16-04



        Maybe there is also some Windows implementation: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview but I'm guessing Microsoft must give better support to its own SMB protocol.






        share|improve this answer




























          2












          2








          2







          I am going to propose some alternatives that don't look exactly like SAMBA, but could be better for other use cases.



          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:



          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



          Between two Ubuntu computers, this is a great option: https://en.wikipedia.org/wiki/Rsync



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



          ssh server-username@192.168.0.10


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



          You might need to run on server and client:



          sudo apt-get install ssh


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



          rsync -av server-username@192.168.0.10:/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 'server-username@192.168.0.10:/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.



          This might not be easy on Windows thought:





          • https://serverfault.com/questions/8411/what-is-a-good-ssh-server-to-use-on-windows),

          • https://superuser.com/questions/300263/how-to-use-rsync-from-windows-pc-to-remote-linux-server


          NFS



          Again mostly for two Ubuntu machines, this is the SAMBA for Linux, with support built into the Linux kernel: https://en.wikipedia.org/wiki/Network_File_System



          Basically it allows you to mount a folder from the server on the guest.



          Setup and troubleshooting is potentially a bit harder than rsync, but definitely doable, this is a good article: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-16-04



          Maybe there is also some Windows implementation: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview but I'm guessing Microsoft must give better support to its own SMB protocol.






          share|improve this answer















          I am going to propose some alternatives that don't look exactly like SAMBA, but could be better for other use cases.



          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:



          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



          Between two Ubuntu computers, this is a great option: https://en.wikipedia.org/wiki/Rsync



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



          ssh server-username@192.168.0.10


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



          You might need to run on server and client:



          sudo apt-get install ssh


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



          rsync -av server-username@192.168.0.10:/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 'server-username@192.168.0.10:/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.



          This might not be easy on Windows thought:





          • https://serverfault.com/questions/8411/what-is-a-good-ssh-server-to-use-on-windows),

          • https://superuser.com/questions/300263/how-to-use-rsync-from-windows-pc-to-remote-linux-server


          NFS



          Again mostly for two Ubuntu machines, this is the SAMBA for Linux, with support built into the Linux kernel: https://en.wikipedia.org/wiki/Network_File_System



          Basically it allows you to mount a folder from the server on the guest.



          Setup and troubleshooting is potentially a bit harder than rsync, but definitely doable, this is a good article: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-16-04



          Maybe there is also some Windows implementation: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview but I'm guessing Microsoft must give better support to its own SMB protocol.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 4 '18 at 11:04

























          answered Nov 4 '18 at 10:43









          Ciro Santilli 新疆改造中心 六四事件 法轮功Ciro Santilli 新疆改造中心 六四事件 法轮功

          9,72944450




          9,72944450























              1














              sudo apt-get install servefile


              servefile is perfect for casual sharing, it runs an http server on port 8080 (unless -p <port> is specified), so it can communicate fast with any device with a browser.



              Examples:




              • servefile filename # Just serves a file


                I get 3 URLs because I have 3 IP's from 3 different LANs, normally you would get just 1, but it's awesome it shows you that.


              • servefile -u ~/Pictures # Let's you upload files into Pictures folder
                upload files


              • servefile -l ~/Pictures # Serves the content of the folder
                content of the folder


              • servefile -tc gzip ~/Pictures # construct a tar file from any file or folder and compress it on the fly
                enter image description here



              BTW with this method I reached 1Gbps transfer speed (maximum speed of my LAN), window's folder sharing protocol wasn't even near that speed.






              share|improve this answer






























                1














                sudo apt-get install servefile


                servefile is perfect for casual sharing, it runs an http server on port 8080 (unless -p <port> is specified), so it can communicate fast with any device with a browser.



                Examples:




                • servefile filename # Just serves a file


                  I get 3 URLs because I have 3 IP's from 3 different LANs, normally you would get just 1, but it's awesome it shows you that.


                • servefile -u ~/Pictures # Let's you upload files into Pictures folder
                  upload files


                • servefile -l ~/Pictures # Serves the content of the folder
                  content of the folder


                • servefile -tc gzip ~/Pictures # construct a tar file from any file or folder and compress it on the fly
                  enter image description here



                BTW with this method I reached 1Gbps transfer speed (maximum speed of my LAN), window's folder sharing protocol wasn't even near that speed.






                share|improve this answer




























                  1












                  1








                  1







                  sudo apt-get install servefile


                  servefile is perfect for casual sharing, it runs an http server on port 8080 (unless -p <port> is specified), so it can communicate fast with any device with a browser.



                  Examples:




                  • servefile filename # Just serves a file


                    I get 3 URLs because I have 3 IP's from 3 different LANs, normally you would get just 1, but it's awesome it shows you that.


                  • servefile -u ~/Pictures # Let's you upload files into Pictures folder
                    upload files


                  • servefile -l ~/Pictures # Serves the content of the folder
                    content of the folder


                  • servefile -tc gzip ~/Pictures # construct a tar file from any file or folder and compress it on the fly
                    enter image description here



                  BTW with this method I reached 1Gbps transfer speed (maximum speed of my LAN), window's folder sharing protocol wasn't even near that speed.






                  share|improve this answer















                  sudo apt-get install servefile


                  servefile is perfect for casual sharing, it runs an http server on port 8080 (unless -p <port> is specified), so it can communicate fast with any device with a browser.



                  Examples:




                  • servefile filename # Just serves a file


                    I get 3 URLs because I have 3 IP's from 3 different LANs, normally you would get just 1, but it's awesome it shows you that.


                  • servefile -u ~/Pictures # Let's you upload files into Pictures folder
                    upload files


                  • servefile -l ~/Pictures # Serves the content of the folder
                    content of the folder


                  • servefile -tc gzip ~/Pictures # construct a tar file from any file or folder and compress it on the fly
                    enter image description here



                  BTW with this method I reached 1Gbps transfer speed (maximum speed of my LAN), window's folder sharing protocol wasn't even near that speed.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 2 hours ago

























                  answered 2 hours ago









                  MadacolMadacol

                  334




                  334






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Ask Ubuntu!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f310180%2fhow-to-share-files-through-the-local-network%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown