The file manager in MS Windows has a nice feature called "Map Network Drive". This allows you to permanently assign Samba shares to a drive letter which any program can access. It can be made persistent across reboots. This feature is tremendous when you have a Samba server on your network that has files you need to continuously access.
This guide will explain how to do the same using an up-to-date Ubuntu Intrepid or Jaunty. This guide will not work on Hardy unless this bugfix is backported to Hardy.
Comparison to Other Methods
There is an ages-old method which produces a similar result and involves editing /etc/fstab. I don't like this method for a number of reasons, such as the fact that it's difficult, it involves storing your Samba password in plain text, and it exposes a nasty bug that can cause your system to hang on shutdown.
1. Select the "Network" option from the "Places" menu.
2. Select the "Windows Network" icon.
3. Select the workgroup that your share resides in.
4. Select the PC on your network that contains the share you want to access. You will now see an authentication prompt. Enter the correct username and password. IMPORTANT: Make sure to select the radio button that is labled "Remember forever". This will permanently save your password in the GNOME keyring.
6. Select the "Connect" option. You will now see a folder for each share that is available on the selected PC.
8. Select the folder you want to access. You will now see a prompt regarding the keyring. Select the "Always Allow" option. The share is now temporarily mounted (will not survive a reboot) and your password is permanently saved and accessible in the GNOME keyring.
9. The share should be visible in the "Places" menu on the left of the Nautilus file manager. Select the eject icon to the right of the share to unmount it.
10. Now we will test out a command which will go into a script. Open the Terminal from the "Accessories" submenu in the "Applications" menu.
11. Run this command in the Terminal while filling in the appropriate information within the <> symbols.
The share should now be mounted again and will appear in the "Places" menu on the left side of the Nautilus file manager. Select the eject icon to the right of the share to unmount it.
12. Now we will put that command in a script to be executed during startup. In the Terminal, run this command to create the script:
If you'd like to change the path or the filename of the script, feel free to do so.
13. Paste this into the GEdit window while filling in the appropriate information into the <> symbols.
14. Make the script executable by running this command in the Terminal:
15. Now let's add the script to GNOME startup. Choose the "Startup Applications" option from the "Preferences" submenu located in the "System" menu.
chmod +x ~/sharemount.sh
16. Select the "Add" option. Type a name of your choice in the "Name" field, browse to the path of the script in the "Command" field, and optionally add a comment to the "Comment" field. Press the "Add" button to save your settings.
17. Now log out and log back in or restart your PC. Check the "Places" menu and the shares should be automatically mounted.
The shares are mounted using GVFS. From the GNOME GUI, shares are accessible via the "Places" menu in Nautilus and the smb:// path in the address bar. Command-line programs can access these shares via the ~/.gvfs path.
If you'd like to remove these changes, follow the these two simple steps:
1. Choose the "Startup Applications" option from the "Preferences" submenu located in the "System" menu. Select the sharemount.sh script and press the "Remove" button.
2. Delete the script with the Terminal:
Since the ~/.gvfs directory is a directory like any other, michaelzap presented the idea of using symbolic links to further improve the usefulness of all this. In particular you can work around particular applications such as Firefox that don't display network mounts in their file open/save dialog.