Rationale
Although the only hardware needed to connect two computers together to transfer files is a simple cat5 crossover cable, in order to actually use it the user must:
1) Physically connect the machines
2) Set up a network between the machines
3) Decide whether to use FTP, Samba, or SSH
4) Install the appropriate server on one machine and a client on the other
5) Connect to the server with the client
6) Transfer the files based upon the protocol of the server
Steps 2 and 3 are beyond the skillset of Ubuntu's target end user (see bug #1), as is even knowing this schema.
As "netbooks" are becoming popular second computers for many people, a simple way to transfer files between two computers is necessary. There are many other use cases where user(s) may want to move a file from one computer to another, yet do not have the skillset to perform all the steps listed.
Tags:
(none)
Solution #2:
Use Lanshark
Lanshark is a free filesharing tool for local area networks. Lanshark allows you to share files with other users in the same network more efficiently. It automatically detects other lanshark users in the same Network and lets you browse trough their shares. Lanshark has a very fast search function that allows you to search through all the shares in the whole network in just a few seconds!
Features
* Free software (GPL)
* Easy to configure and use
* Fast searching
* Cross platform
* Rich user interface (GTK)
* Integrated webserver
* Additional web interface
* Automatic Peer Detection
* No installation Required
http://lanshark.29a.ch/
Lanshark is a free filesharing tool for local area networks. Lanshark allows you to share files with other users in the same network more efficiently. It automatically detects other lanshark users in the same Network and lets you browse trough their shares. Lanshark has a very fast search function that allows you to search through all the shares in the whole network in just a few seconds!
Features
* Free software (GPL)
* Easy to configure and use
* Fast searching
* Cross platform
* Rich user interface (GTK)
* Integrated webserver
* Additional web interface
* Automatic Peer Detection
* No installation Required
http://lanshark.29a.ch/
Solution #3:
Use System-config-samba by default
System-config-samba is a small application that makes easy to setup samba, configure workgroup and share folders with other operating systems.
System-config-samba is a small application that makes easy to setup samba, configure workgroup and share folders with other operating systems.
Solution #4:
Use Giver
Written by
Vendaval the 16 Mar 09 at 02:34.
What about integrating Giver (or similar functionality) into Nautilus?
"Giver is a simple file sharing desktop application. Other people running Giver on your network are automatically discovered and you can send files to them by simply dragging the files to their photo or icon shown in Giver. There is no knowledge or set up needed beyond what the person looks like or their name to use Giver. "
http://code.google.com/p/giver/
What about integrating Giver (or similar functionality) into Nautilus?
"Giver is a simple file sharing desktop application. Other people running Giver on your network are automatically discovered and you can send files to them by simply dragging the files to their photo or icon shown in Giver. There is no knowledge or set up needed beyond what the person looks like or their name to use Giver. "
http://code.google.com/p/giver/
Solution #5:
One way to permanently share files. Another for a quick and easy exchange.
Most of the time, one does not want to share a directory indefinitely but just wants to get a file or a folder to a Friend or co-worker. Therefore we need 2 different ways to deal with this.
* One for permanently sharing folders on the network.
* One for quickly exchanging files and folders (send, receive).
The one could be Samba based, the other giver based.
Most of the time, one does not want to share a directory indefinitely but just wants to get a file or a folder to a Friend or co-worker. Therefore we need 2 different ways to deal with this.
* One for permanently sharing folders on the network.
* One for quickly exchanging files and folders (send, receive).
The one could be Samba based, the other giver based.
Solution #6:
Have NetworkManager auto-configure the mini-network with Zeroconf
Written by
nazgul77 the 24 Mar 09 at 17:43.
Tackle steps (1) and (2) above
The idea is to have NetworkManager automatically set up a network configuration that enables communication between computers when there are no other means for an automatic configuration (DHCP server etc.).
This is sufficient to enable decentralised services like samba/avahi file sharing, rhythmbox(DAAP) music sharing and GNOME remote desktop.
Zeroconf was built for this purpose and is used e.g. by MacOS X.
As of now NetworkManager attempts by default to automatically configure a network interface by DHCP when a physical link is detected (or a wireless device radio switched on) and gives up if that fails. Obviously this does not work when connecting two clients, i.e. there is no DHCP Server to provide the network configuration. You will have to manually create a NM profile and choose it. This is not very user-friendly.
For Ubuntu Desktop I suggest to make NetworkManager configure the network by Zeroconf when automatic configuration (DHCP) fails so that two clients can communicate. Exact details are left to developers as this is not as trivial as it seems.
Tackle steps (1) and (2) above
The idea is to have NetworkManager automatically set up a network configuration that enables communication between computers when there are no other means for an automatic configuration (DHCP server etc.).
This is sufficient to enable decentralised services like samba/avahi file sharing, rhythmbox(DAAP) music sharing and GNOME remote desktop.
Zeroconf was built for this purpose and is used e.g. by MacOS X.
As of now NetworkManager attempts by default to automatically configure a network interface by DHCP when a physical link is detected (or a wireless device radio switched on) and gives up if that fails. Obviously this does not work when connecting two clients, i.e. there is no DHCP Server to provide the network configuration. You will have to manually create a NM profile and choose it. This is not very user-friendly.
For Ubuntu Desktop I suggest to make NetworkManager configure the network by Zeroconf when automatic configuration (DHCP) fails so that two clients can communicate. Exact details are left to developers as this is not as trivial as it seems.
Solution #7:
Make applications use avahi (zeroconf)
Written by
nazgul77 the 25 Mar 09 at 20:46.
Tackle steps (3) to (6) from the description above
If Solution #6 (Have NetworkManager auto-configure the mini-network with Zeroconf) is implemented more applications need to be tuned for hassle-free networking capabilities. GNOME remote desktop and rhythmbox(DAAP) music sharing are already working examples.
A killer application might be nautilus making use of avahi-enabled samba
http://www.askbjoernhansen.com/2007/10/27/setup_samba_for_bonjour_networking_wi th_os_x_105_l.html
Avahi " ... allows programs to publish and discover services and hosts running on a local network with no specific configuration. For example, you can plug into a network and instantly find printers to print to, files to look at and people to talk to."
http://en.wikipedia.org/wiki/Avahi_(software)
Tackle steps (3) to (6) from the description above
If Solution #6 (Have NetworkManager auto-configure the mini-network with Zeroconf) is implemented more applications need to be tuned for hassle-free networking capabilities. GNOME remote desktop and rhythmbox(DAAP) music sharing are already working examples.
A killer application might be nautilus making use of avahi-enabled samba
http://www.askbjoernhansen.com/2007/10/27/setup_samba_for_bonjour_networking_with_os_x_105_l.html
Avahi " ... allows programs to publish and discover services and hosts running on a local network with no specific configuration. For example, you can plug into a network and instantly find printers to print to, files to look at and people to talk to."
http://en.wikipedia.org/wiki/Avahi_(software)
Solution #8:
As #1, but support more connection options
There are many ways to connect two PCs; the old serial and parallel cables should still work, as well as null modem cables. But we now have IR ports and “USB host-to-host cables” are available (
http://www.linux-usb.org/usbnet/#t-host ).
Regardless of the method used, it would be really cool if connecting to a netbook, PC, PDA, etc. could be auto-detected (where possible), and bring up a consistent program to synchronise or transfer files.
There are many ways to connect two PCs; the old serial and parallel cables should still work, as well as null modem cables. But we now have IR ports and “USB host-to-host cables” are available (http://www.linux-usb.org/usbnet/#t-host ).
Regardless of the method used, it would be really cool if connecting to a netbook, PC, PDA, etc. could be auto-detected (where possible), and bring up a consistent program to synchronise or transfer files.
Solution #9:
Make current application more compatible with other technologies
I feel Solutions #2 and #4 and not suitable for all situations and are only temporary or situation-based solutions. Why do we need another new application for something so simple as sharing files on a network? Plus, both users need to co-ordinate and install those applications to share files.
We need a solution that just works without installing any new application and without necessary co-ordination between users. Imagine hundreds of users sharing files in a big company or on a network of casual users sharing books, music, etc. Do you expect everyone to install and use LanShark or Giver? I don't think so. People are more comfortable sharing files on Windows and MAC OS; we have to make ourselves compatible with them and limit ourselves to particular apps which allows files to be shared by only people using those apps.
We already have Samba to view/add shares. Samba is compatible with most knows OSs and works out of the box. If we can increase compatibility between Samba and Nautilus to improve the user experience and make things work out-of-the-box, I think we will have a permanent effective solution.
I feel Solutions #2 and #4 and not suitable for all situations and are only temporary or situation-based solutions. Why do we need another new application for something so simple as sharing files on a network? Plus, both users need to co-ordinate and install those applications to share files.
We need a solution that just works without installing any new application and without necessary co-ordination between users. Imagine hundreds of users sharing files in a big company or on a network of casual users sharing books, music, etc. Do you expect everyone to install and use LanShark or Giver? I don't think so. People are more comfortable sharing files on Windows and MAC OS; we have to make ourselves compatible with them and limit ourselves to particular apps which allows files to be shared by only people using those apps.
We already have Samba to view/add shares. Samba is compatible with most knows OSs and works out of the box. If we can increase compatibility between Samba and Nautilus to improve the user experience and make things work out-of-the-box, I think we will have a permanent effective solution.
Propose your solution
Attachments
No attachments.
Duplicates
Comments
giver changes timestamp of received file. Nasty bug.
andrew.p
wrote on the 16 Mar 09 at 22:02
I have never experienced any difficulties with sharing with Samba. Just a few clicks in Nautilus and everything is set up.
Zeroconf is definitely the solution to at least step 1) and 2) of your problem. As for selecting the protocol samba can be set up using Zeroconf as its advertising and browsing method (as opposed to the old NetBIOS). Perhaps the Bonjour IM protocol could be used for sending files (also works off Zeroconf). Zeroconf is pretty much protocol agnostic (unlike things such as UPnP).
Anyone know how giver and lanshark discover their peers on the network (does it use zeroconf or some custom protocol? )
To answer my own questions giver uses zeroconf to do its service discovery (Nice!)
Lanshark on the other hand only has a primitive broadcast mechanism that I imagine wouldn't scale well. Hence, I will vote this solution down.
rbsfou
wrote on the 16 Apr 09 at 19:42
I believe this is related to my comments about Network File Systems in Ubuntu generally - see idea
http://brainstorm.ubuntu.com/idea/19244/
Whilst my comments about actually making the remote filesystems mount might not directly apply (shame!), what i do think is VERY important to consider is mapping local to remote User ID's (or SID's if we are talking to a 'doze box).
Post your comment