Home Wiki > Concepts networking
Sign up | Login

Concepts networking

tagline: From openSUSE

Networking with Linux

Linux PC networking with MS-Windows PCs

MS-Windows/Linux file/printer sharing

For file and printer sharing between an MS-Windows and a Linux PC, most Linux users use an application known as "samba", that runs on the Linux machine.

With Samba running, the Windows-to-Linux networking (with there being a Linux PC in the Local Area Net (LAN)) is mostly transparent to the MS-Windows PC user. Thus files and printers can be shared transparently, using standard file/print managers.

Alternatively to setting up Samba, files can also be transfered from the Linux PC to the MS-Windows PC, in KDE using smb (Server Message Block) supported by KDE (applications Konqueror and Dolphin), by Gnome (application Nautilus), by LXDE (application PCManFM), and from the MS-Windows PC to Linux PC, using Secure Copy (scp) or Secure FTP (sftp) via packages such as the WINscp freeware software. In openSUSE, scp is not as seamlessly "integrated" into the User Interface as NFS nor as samba.

One can also share printers between Linux and Windows PCs using CUPS and/or IPP.

Linux-PC to another Linux-PC sharing

Linux/Linux file sharing

For file sharing between Linux PCs, most Linux users use an application known as Network File System (NFS), that enables file sharing (including remote directory/drive mounting, such that remote drives are treated as local), etc ...

Instead of using NFS, one can also transfer files using ssh (via the “scp” mentioned above). One ssh network file transfer implementation is “FIles transferred over SHell” (known as “fish”), which can be used to transfer files from Linux PC to Linux PC. KDE's Konqueror File Manager and Gnome's Nautilus and also Midnight Commander file manager, support “fish” network file transfers using a user friendly GUI.

And as noted previous, SFTP (SSH File Transfer Protocol) can be used for transfering files from Linux PC to Linux PC. KDE's Konqueror File Manager and Gnome's Nautilus support “SFTP” network file transfers using a user friendly GUI.

Linux remote command shell

With Linux, a remote PC's konsole/shell can be opened on a local PC and thus remote command line applications can be controlled locally. This is possible by using applications such as telnet or ssh. ssh provides more secure data transfers than telnet and is typically preferred.

Linux remote desktop

There are various ways to have a remote desktop using Linux. One way is to use Virtual Network Computing (vnc) to remotely access a Linux PC from either another Linux PC, or from an MS-Windows PC. vnc transmits the keyboard and mouse events from one computer to another relaying the graphical display updates back in the other direction, over a network. One Linux application that provides this capability is "x11vnc". A remote desktop can be done using a local LAN, or across the Internet. In the case of using an "MS-windows" PC to access a Linux pc's Xwindow desktop, there are many client applications, some of which are free. The vnc wikipedia link below lists many of the MS-Windows packages.

These applications for remote access/control are very useful for providing remote support, maintenance, and training.


Almost all operating systems allow you to upload/download files (data exchange) using the FTP protocol, or preferably by SFTP or SSH2 . There are a large number of FTP interface software applications available in linux beyond those offered by Bash (the commandline) or as commandline tools. The main challenge is understanding how each WYSIWYG interface works; they all tend to display the local file system on the left of the screen and the remote file system on the right but implement interactions differently. OpenSUSE 12.3 packages gFTP which is quite adequate once you have bookmarked your working configuration and implements FTP, SFTP and SSH2. Other solutions such as Filezilla (similar interface linux and windows versions) exist. The standard use for such applications is in administrating files on a remote (web) server which has been configured to accept the relevant protocol.