When starting from the console it is possible to specify a list of servers you wish to connect to. This is helpful if you have a large number of servers or simply wish to avoid the time delay of scanning the network. The list of servers should be separated by commas and if the names contain spaces the list should be wrapped in quotation marks ie. pnethood "server1,server2,my server". It is also possible to specify servers by IP address.
Description of Interface
The main window contains four buttons at the top:
- Rescan Network - Finds servers on your network and checks the state of all shares. If the servers you expect to see are not showing, you may need to hit this button a couple of times to wake them up.
- Help - Display this page.
- Info - Opens a monitor (tail -f) of the log file /tmp/pnethood/log. In the event of you having problems with this program it would be helpful if you submit the bottom few lines of this log to the forum.
Under these buttons are checkboxes to enable Domain authentication and the use of the (CIFS) Common Internet Filesystem protocol when mounting shares. This requires the kernel cifs module. This is included in puppy 4.00RC (and onwards ?) and 2.14R. There is a button to open the options window and also a button to refresh the state of the servers you are currently viewing.
Below is a tabbed pane with one tab for each server found. Each pane contains fields for username, password and Domain name. Underneath these are buttons to connect, disconnect and show (open an already connected folder) for each share on a server. If you get an error when pressing a connect or disconnect button, the message may ask you to press the other button to resynchronise the interface, alternatively you may hit the refresh button. The reason for this is a limitation in the way that gtkdialog can enable or disable buttons programatically.
If the initial scan detects more than 10 computers in your subnet, you will get a popup window asking you to choose which one you wish to use. This is to avoid excessively long startup times and also to avoid generating too many tabs in the interface.
The options window:
- Save passwords - Current password will be saved into $HOME/.pnethood/passwords.
UTF-8 charset - UTF-8 will be used to convert local path names to and from Unicode, adding the "iocharset=utf8" option to the cifs mount command.
- Disable Linux Extensions - If enabled then pnethood won't use CIFS "UNIX" extensions, which are optional protocol enhancements that allow CIFS servers to return accurate UID/GID information as well as support symbolic links.
- Network Scan - Allows the scan time to be increased in case your server is not found.
- Purge Log file - Sets the maximum log size. Beyond this size the log file is purged.
Trying to connect to a share with an incorrect username or password will understandable cause an error. If you think that you may have entered your credentials incorrectly, hit the disconnect button, re-enter your username and password and try the connect again.
If the server you are connected to shuts down whilst you have shares connected this can leave the filesystem somewhat confused. The mountpoints for that server may generate errors if you try to carry out a directory listing over them. It is recommended that you reboot puppy before trying to access shares on that server again.
If a server is not shown when you expect it to be try hitting the refresh button a few times or increasing the scan time.
Currently any passwords you enter are stored inside $HOME/.pnethood/passwords this is normally /root/pnethood/.passwords on Puppy Linux. Your passwords will not be saved unless you tick the box to allow it. Currently pnethood uses a helper process to mount shares, this means that your password may be visible in the process list.
Help and Feedback
If at any time this program behaves in an unexpected way please report it on the forum thread. If it works really well for you comments are welcome too as are suggestions for improvements. Some errors may be recorded in /tmp/pnethood/log
nbtscan to get a list of computers on the x.x.0.0/16 subnet corresponding to your IP address. Each one of these computers is then scanned for shares using smbclient. This list of shares is then compared with the output from mount to find out if any of them are mounted already. From this list the interface is generated.