Jump to content

Do not begin to migrate content here, it may be wiped without notice. More info.

DebianDesktopHowTo: Difference between revisions

From Debian wiki2025 alpha
mok0>1212255344.09.51358 (beojan)
No edit summary
m 196 revisions imported: Test of revisions
 
(139 intermediate revisions by 20 users not shown)
Line 1: Line 1:
<!-- language: en -->
<!-- language: en -->
[[es:{{BASEPAGENAME}}]]
[[it:{{BASEPAGENAME}}]]
<!-- end of language versions -->
__NOEDITSECTION__
__NOEDITSECTION__
{{Warning|This is a wiki migration test page}}
{{Warning|This is a wiki migration test page}}
This page is here so we can keep a list of things one needs to do in order to install a basic debian-desktop. The goal is to shorten this list integrating things into debian. For more details see the subpages of [[DebianDesktop]].
-----
-----
* Boot from a Sarge install CD. Enter "linux26" at the bootprompt to get a 2.6 kernel and udev installed. Then install the base-system to your needs. When prompted by "tasksel" select the following task:


<pre>  * desktop-environment </pre>
This is a community-maintained list of things to do in order to get an appealing [[DebianDesktop]] installation. If you have any additions, you should keep this page up to date. If you are able to integrate things into Debian, please help to shorten the list.
After base-config is done there are some things left to do:
== Default group memberships ==
Add additional user accounts you may need (with "adduser <NAME>").  (adduser #240855)
You can statically add the users into appropriate groups by iterating "adduser <NAME> <GROUP>".
Yet, a more appropriate way to add many/all users by default is to use pam_group that dynamically adds users to groups during authentification (see below for instructions).  
You probably want some users to be members of some of the following groups: audio, plugdev, camera, video, floppy, cdrom, tape and maybe scanner, fax, dip (for "dial-ip", ppp connections to Internet with pon/poff as set up by pppconfig) or dialout (full serial ports/modem access).  
Beware, there are some groups you don't want to have your users in! (i.e. like games (for game apps to keep high-scores) or disk (raw disk access), see /usr/share/doc/base-passwd/users-and-groups).
Users that should be allowed to use (pmount'ed) usb sticks etc. need to be a member of the plugdev group.
To enable pam_group you can add it to /etc/pam.d/common-auth like this


<pre> echo "auth    optional        pam_group.so" >> /etc/pam.d/common-auth </pre>
__TOC__
then configure /etc/security/group.conf similar to this:


<pre> login;*;*;Al0000-2400;users,cdrom,floppy,plugdev,audio,dip kdm;*;*;Al0000-2400;users,cdrom,floppy,plugdev,audio,dip,video gdm;*;*;Al0000-2400;users,cdrom,floppy,plugdev,audio,dip,video </pre>
= Select Appropriate Debian Release =
In GNOME, devices will pop up automatically for users in the plugdev group: '''IMPORTANT NOTE: This procedure doesn't work anymore on Debian Lenny, does anybody know how to recover it?'''
* '''<nowiki>            </nowiki>'''''This is a problem with the way D-Bus figures out what groups you are a member of.'''' All users should be added to plugdev, netdev, and optionally powerdev, in /etc/groups.Any way of automating this in Debian?''  * KDE 3.3 shipped with Sarge unfortunately does not yet listen to hal-events or support pmount. The devices won't show up automatically. However plugdev users will be able to handle them manualy using pmount/pumount if installed.
In order to make USB pens automaticly appear in KDE 3.3's devices tab (or on the desktop if configured so in Desktop Properties) you can  install the updfstab or the hotplug-mount.pl (create an autofs map instead of modifying the fstab) script from [http://ccomb.free.fr/wiki/wakka.php?wiki=UsbMassStorageEnglish] to handle the automatic mounting.
== Shared Directories ==
This is handy to easily share files, pictures, shared documents, etc. on multi-user systems (family PCs etc.).
Because Debian uses a ''user private group'' (UPG) scheme by default, the default  permissions for new files (umask) can be set to allow write access to the group.
To create groups use "addgroup <GROUPNAME>" as root. For example on your home PC you could create a group "family" and add the appropriate users to it.
Then create a family group directory: Do "mkdir /home/family", give it to the group with "chown :family /home/family" and change its permissions for example with <code> chmod u+rwx,g+rws,o-rwx /home/family </code> to a privately shared set-group-id directory (in octal notation: 2770).
Finally, change the default umask to 002. Unless libpam-umask is installed (see below), this has to be set in /etc/profile and /etc/login.defs . Now family group members can work with each other's files in the group directory without permission hassle.
If you've already got an existing directory full of files (pictures/music/whatever), [http://www.stubbornroses.com/setgid this script might save you some time].
-----------
* Security Note: It is not always a good idea to change your umask.  This will set any new file created as group writable.  Depending on what part of the system you're in, this could be a bad thing.  UPG Schemes do take most of the worry away; just be cognizant of these facts when you create files in any 'special' directories. There is another (more complicated) way to do this as well, using Access Control Lists (ACLs).  [http://72.14.203.104/search?q=cache:wFfovWzRbZcJ:www.linux-mag.com/2003-09/acls_01.html+shared+directory+permissions+groups+ext3&hl=en&gl=us&ct=clnk&cd=2&lr=lang_en&client=firefox-a Check here] [http://www.udel.edu/topics/os/unix/general/groupsharing.html and here] for more information.


<pre> In a nutshell: apt-get install acl sarge kernels: filesystems supported -> ext2,ext3,jfs,xfs etch kernels support: ext2,ext3,reiserfs,jfs,xfs,nfs (with module nfs_acl) change /etc/fstab options for drive you want to use acls on ie /dev/hda5      /pub      ext3    defaults,acl    0      0 cd /pub mkdir family setfacl -m d:u::rwx,d:g:family:rw,d:m:rw,d:o:--- family        this will set the umask of the family directory such that all files created will be -rw-rw----+ and all directories created will be drwxrwS---+. This might not be entirely correct. At the very least, NFS has to be configured for ACLs, or an NFS server on Sarge and NFS Client in Etch can't handle ACLs. "getfacl family" will show you the permissions. </pre>
Refer to [[DebianReleases|Debian Releases]] for more information about the Debian versions, but the following ideas may guide your decision.
-----------
* Good information James. Can you be more specific about your security concerns? Maybe move ACL stuff to a separtate page like [[FilesystemAccessControlLists]] and reference it from this how to? [[MultiUserManagement]] translation may also be of interest for you. Have you subscribed this page? Information about [http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/ref-guide/s1-users-groups-private-groups.html user private groups]. A pretty good permissions primer can be found at: "http://linsec.ca/filesystems.php"
== CUPS Printing System ==
(default package selection) Install and configure the CUPS printing system packages as described on ["DebianCUPS"].
Start /usr/lib/openoffice/spadmin as root "add printer" and import your printers setup from /etc/foomatic/cups.
== Default package selection ==
(synaptic only recommending)) "apt-get install libgnome2-perl" if you want the Gnome debconf frontend to actually work when you install packages. You may need to configure debconf to use "GNOME" frontend with "dpkg-reconfigure debconf" (Doesn't Synaptic let debconf start in appropriate mode within GNOME?).
(default package selection) Start up Synaptic and find, select and install the following packages:
* anacron (desktops/laptops don't usually run all the time (at night, weekends, etc.) (alternatively fcron?) * If you need localized fonts: xfonts-base-transcoded and xfonts-*dpi-transcoded * zip and unzip * mc (midnight commander console filemanager) * ssh-askpass (lets ssh use a graphical password prompt window when run under X) Are the following actually needed? For what benefit? They are non-free anyway:
* x-ttcidfont-conf (needed for the next) * msttcorefonts (to display some webpages and documents correctly) -----
* Now some configuring: To actually make use of the private user groups in debian you have to set the default to "umask 002" in /etc/login.defs, /etc/profile and other shell config files, or better: install libpam-umask and you can centrally set a real system wide default umask with a line like this in /etc/pam.d/common-session:


<pre> session    optional    pam_umask.so umask=002 </pre>
== Using (released) stable versions + security updates and selected newer backport packages? (a full distribution upgrade is made available about every two years) ==
(In this case don't forget to remove any umask lines from /etc/login.defs, /etc/profile etc.)  
Choose [[DebianStable|Debian Stable]] if you want the computer to just work for a prolonged period of time, without the risk of new packages breaking your habits or workflow. You may still install more recent versions of selected packages from the [http://backports.debian.org Debian Backports] repository.
There is currently a bug (Bug #336214) in gdm which will prevent the umask settings above from working if you are using gdm (the Debian default) as your login manager. To work around this bug, edit /etc/gdm/Xsession and add the line


<pre> umask 002 </pre>
== Using rolling (recent) testing package versions? (distributed for public testing) ==
just after the line containing "Beginning session setup..."  
If it is important to you to have recent versions of ''all'' the installed software continuously rolling onto your desktop or laptop, and you are fine with constantly downloading and installing updates that may stir up a bug every once in a while, you may choose [[DebianTesting|Debian Testing]].
The central settings for KDE in /etc/kde3 could also need some tweaking:  
 
* set CUPS as default printing system (Put the following into /etc/kde3/kdeprintrc)
== Using rolling (currently new) unstable package versions? (they just made it out of the Debian developer "labs") ==
<pre>   ["General"]  PrintSystem=cups </pre>
Well, if you are sure you really need this for ''all'' the installed packages, you should learn about [[DebianUnstable|Debian "Sid"]].
* If you like, make $HOME to be your Desktop for consistency. (Put the following into /etc/kde3/kdeglobals)  
 
<pre>   ["Paths"]   Desktop=$HOME    Trash=$HOME/Trash/ </pre>
= Downloading =
* If you need particular KDE system defaults like proxy, javascript and cookie policy etc., set them in the same way, too. [http://www.kde.org/areas/sysadmin] has more info about the configuration files, including making settings immutable to users. ...have fun! And if you encounter bugs search the net, if the bug is not already filed, find the appropriate package and the file a bug against it, if it concerns Debian simply use the "reportbug" utility for that.  
 
== Troubleshooting ==
Official installation images are available from the Debian [http://www.debian.org/distrib/ download page].
For manual setup of the graphic you can use dpkg-reconfigure xserver-xfree86.  
 
An alternative automatic configuration of the x-server is to install xdebconfigurator, run it, and then dexconf to generate a valid ["XF86config"].
For Debian 12 onwards, debian-installer will detect and automatically install necessary non-free firmware. For Debian 11 and earlier, please refer to the [[Firmware]] Page to determine if and how you may need to download firmware for a successful installation.
== Things that have already been integrated ==
 
* autoconfiguration of the xserver
= Select a Desktop Environment =
 
During the installation, you can select your preferred desktop environment at the [https://www.debian.org/releases/stable/i386/ch06s03#pkgsel Selecting and Installing Software] installation step.
 
By default, Debian installer will choose [[Gnome|GNOME]], however you can also select [[Xfce]], [[KDE|KDE Plasma]], Cinnamon, [[MATE]], [[LXDE]], or [[LXQt]].
 
GNOME and KDE each boast a complete desktop experience, an extensive ecosystem of apps, and support for [[Wayland]].
 
For older computers, consider using Xfce, LXQt, or LXDE, as they consume less system resources.
 
Users used to GNOME 2 may prefer MATE, which is a continuation of that project.
 
Users transitioning from Windows may prefer Cinnamon, which provides a Windows 7-like experience.
 
Or, you may choose e17 (Enlightenment), a new candidate that also features a touchscreen mode.
 
= Installing =
 
== System ==
 
To use sudo and your regular password for system administration, leave the root password empty during installation.
 
There is a neat universal partitioning scheme you can set up, especially if you have an SSD, may want redundant drives, or want to keep laptop drives spun down to lower noise and power consumption. Find it together with instructions on how to minimize disk writes as at [[SSDoptimization|SSD Optimizations]].
 
Bug DebianBug:653760 - The audio group must not have any members, otherwise consolekit won't adjust audio permissions (ACLs) when switching between users.
 
If shared directories are used (see [[UserPrivateGroups|user private groups]] or if restrictive umask value (for example 0077) is necessary then in Debian 12 bookworm and earlier releases you should enable the <code>pam_umask.so</code> module in PAM configuration, see [[Permissions#System-wide_umask_configuration|System-wide umask configuration]] in Permissions.
No action should be required since Trixie.
With releases older than Bookworm there were issues with systemd user session or GNOME display manager (gdm) overrode the system's default umask. Thus, if you use gdm you may try to fix it, or just install another dm like kdm, slim, or [[LightDM]], but consider [[Permissions#Per-user_umask_settings|per-user umask settings]] recipes first.
 
"Green" or laptop hard disk models often suffer from parking/unparking their heads every 10 seconds or so, causing excessive wear. Check 'smartctl -a /dev/sdX' to see your current Load_Cycle_Count. As a countermeasure, install laptop-mode-tools and set CONTROL_HD_POWERMGMT=1 in /etc/laptop-mode.conf (sets "hdparm -B 254" on AC to stop those clicks). Alternatively, you may be able to set the hard drive's head parking idle timeout to something like 1-3 minutes, or to disable the timeout altogether on NON-mobile devices (idle3-tools), have a process generate more frequent disk activity as long as it sees other activity (https://code.google.com/p/wdsaver), or hunt down and eliminate the source of the periodic disk accesses (probably log messages).
 
Check that /etc/aliases contains a <code>root: <mail-user></code> line that forwards mail directed at the root user to your own user account, and execute "sudo newaliases" if changes were necessary. (And set up your mail program to check your local mailbox under /var/mail/.
 
To monitor hard drive health status, install smartmontools and smart-notifier, then set "start smartd = yes" in /etc/default/smartmontools.
 
Maybe consider using [[AppArmor]] / [[Tomoyo]] and separate sub-users to confine browsers, email clients, etc.
 
== Enable users to create (windows/cifs) network shares ==
 
Install samba (if not present already), then "sudo adduser <username> sambashare" to allow <username> to create file shares.
 
To avoid that samba creates files as the reserved user "nobody" (who should never own any files on the system), create a "sambaguest" user and add the following to the global section of /etc/samba/smb.conf:
 
<pre>
guest account = sambaguest
</pre>
 
To ensure that files created by samba guests are locally accessible, add this to the global section of /etc/samba/smb.conf:
 
<pre>
inherit permissions = yes
</pre>
Also remember to "chmod g+s" the directories of writable shares to be setguid dirs and set their read/write permissions according to the allowed samba users (i.e. publicly to enable guest access). (Bug Debian DebianBug:678834)
 
The "inherit permissions = yes" option lets samba create files with the permissions of the containing directory (but x bits are still mapped to the Windows' system flags: archive, hidden).
 
If your router does not resolve local hostnames correctly, and your ISPs DNS servers respond with false IPs instead of returning "unknown", also enable the "name resolve order" line (remove the ";") and move "host" to the end of the list.
 
== (Locally Shared) Group Directories ==
 
With the umask correction from above, plus some default skeleton directories, Debian can easily provide a really nice out-of-the-box user collaboration experience: users can simply collaborate on files, pictures, documents, etc. on multi-user systems (e.g. family PCs, servers etc.) in their group directories. Out of the box, the default group "users" allows all users to collaborate on files in /home/users; for finer grained collaboration, you can set up additional user groups.
 
See the [[UserPrivateGroups]] (UPG) wiki page for details and UbuntuWiki:MultiUserManagement
 
== Web Browser ==
 
For a recent and still maintained version of a mozilla browser, you need to enable the "release" source from [http://mozilla.debian.net mozilla.debian.net].
 
For secure and sane browsing, install the following extensions with the Debian package manager: DebianPkg:xul-ext-noscript (clean companies from default whitelist), DebianPkg:xul-ext-adblock-plus (disable its default whitelist), DebianPkg:xul-ext-cookie-monster, DebianPkg:xul-ext-useragentswitcher (set generically), and DebianPkg:xul-ext-refcontrol (set to block).
 
The add-ons HTTPS-Everywhere, "Ref Control" and "Request Policy" (maybe remove the companies it sneaks into your whitelist) may only be available through the browser Add-ons download menu/page.
 
Also consider the add-ons "ghostery", and "self-destructing cookies" to block unwanted cookies, and enable deletion of required cookies once its tab is closed (if allowed and not whitelisted), and delete all the cookies you were already fed with against your independence.
 
If you need to use the DebianPkg:flashplugin-nonfree, it is in the contrib repository, and consider installing the betterprivacy extension.
 
Stop the browser from sending Google a hash of every site you visit (ready to be added to your hashed browsing track) by disabling the options flagged as "block reported forgery and attack sites" in the security properties.
 
Disable the search engine "support" and of course the custom Google start page, to prevent the browser from connecting there every time you start the browser or search something and identifying you reliably in the process.
 
See [https://panopticlick.eff.org] to find out how generic your fingerprint on the web really is, and monitor your firewall logs to even get to know the strange places your computer connects to.
 
Consider BFilter. [http://bfilter.sourceforge.net] (newer packages: http://wiki.ubuntuusers.de/bfilter)
 
== Additional packages you may want to install ==
 
Use '''apt-get install <packagename>''', or the synaptic package manager to find, select and install the following packages:
 
* firmware-linux* (from non-free repository may be needed even to install with certain hardware)
* synaptic (not included with the Xfce desktop)
* preload (will preload often used programs into ram)
* mc (midnight commander, a console file manager)
* a ssh-askpass package (lets ssh use a graphical password prompt window when run under X)
* geeqie (fast picture viewer)
* vlc, browser-plugin-vlc, freetuxtv (video player)
* parcellite or clipit (lightweight clipboard manager)
* autokey (keyboard shortcuts)
* zim (managing notes) + scrot (for screenshot plugin) Put "zim --plugin trayicon" in autostart.
    (e.g. on SSDs autosave after ten minutes instead of 10 seconds: ~/.config/zim/preferences.conf: autosave_timeout=600)
* goldendict-worldnet (english dictionary, and trans-de-en current selection with hotkey)
* ding + trans-de-en + agrep (translations)
* [https://tracker.debian.org/pkg/backintime Back In Time]([https://github.com/bit-team/backintime upstream]) - (GUI backup program using [https://tracker.debian.org/pkg/rsync rsync] in the back)
 
= User =
 
Set up checking of the local /var/mail/<user> mailbox (e.g. add a mail notification icon to the panel).
 
Depending on the chosen desktop environment, your habit and the strain on your fingers, you may have to enable/disable single-click file opening in the file browser's preferences.
 
If you need a specific program that is not in the repositories, or installed stable and need a more recent version of a program, refer to [[DebianSoftware]].
 
If you want to adjust system-wide defaults for all users, refer to [[DesktopDefaultSettings]].
 
= Desktop Specific Adaptions =
 
== GNOME ==
 
To create network shares with Nautilus, install package "nautilus-share".
 
To enable the greyed "Password: not asked at login" option for users in System > Administration > Users and Groups (Needed for (guest) account switching in addition to auto login.): Create the nopasswdlogin group,
 
<pre>
sudo addgroup --system nopasswdlogin
</pre>
and add the following to gdm's pam config in /etc/pam.d/gdm:
 
<pre>
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
</pre>
Make sure this line goes right before the "@include common-auth" line. You can use "sudo adduser <user> nopasswdlogin" to add a user to the group.
 
== Xfce ==
 
For network browsing in the thunar file manager, install gvfs-backends and gvfs-fuse, and add your users to the "fuse" group (sudo adduser <user> fuse).
 
Thunar is missing a plugin to create network shares (bug DebianBug:672539). Workaround: [http://forums.linuxmint.com/viewtopic.php?f=197&t=88255 define custom actions] (adjust the permissions (setguid) according to the samba section above).
 
Install Catfish to be able to search for files.
 
You can get rid of the space-consuming "dock" thing at the bottom by adding the desired starters to Panel 1 and deleting Panel 2 in the Panel settings. To move a panel to another location on the desktop, you need to "unlock" it in the panel settings.
 
For passwordless user switching, you may create and enable a nopasswdlogin group as described for GNOME, if you are using gdm (the default).
 
Wheezy's Xfce version does not yet have a dialog to enable touchpad-tapping clicks, you need to add an autostart item that executes the following:
 
<pre>
/usr/bin/synclient TapButton1=1 PalmDetect=1
</pre>
 
If you need to configure (multiple) monitors and their settings, install "arandr". It allows to save the screenlayout to a .sh file that can be called from an autostart item.
 
If you want more graphical configuration tools, you may install gnome-disk-utility (palimpsest) and "apt-get --no-install-recommends install gnome-system-tools".
 
As a photo manager, maybe install Shotwell.
 
= Finally =
 
...have fun! And if you encounter bugs, search the Internet, if the bug is not already filed, find the appropriate package and file a bug against it. If it concerns Debian, you can use the "reportbug" utility for that.
 
You can create a backup of your complete system installation state with apt-clone.
 
= See also =
* [[SetupGuides/SecurePersonalComputer]], another similar guide
 
-----
 
[[Category:Quick]]

Latest revision as of 22:17, 26 October 2026


⚠️ This is a wiki migration test page

This is a community-maintained list of things to do in order to get an appealing DebianDesktop installation. If you have any additions, you should keep this page up to date. If you are able to integrate things into Debian, please help to shorten the list.

Select Appropriate Debian Release

Refer to Debian Releases for more information about the Debian versions, but the following ideas may guide your decision.

Using (released) stable versions + security updates and selected newer backport packages? (a full distribution upgrade is made available about every two years)

Choose Debian Stable if you want the computer to just work for a prolonged period of time, without the risk of new packages breaking your habits or workflow. You may still install more recent versions of selected packages from the Debian Backports repository.

Using rolling (recent) testing package versions? (distributed for public testing)

If it is important to you to have recent versions of all the installed software continuously rolling onto your desktop or laptop, and you are fine with constantly downloading and installing updates that may stir up a bug every once in a while, you may choose Debian Testing.

Using rolling (currently new) unstable package versions? (they just made it out of the Debian developer "labs")

Well, if you are sure you really need this for all the installed packages, you should learn about Debian "Sid".

Downloading

Official installation images are available from the Debian download page.

For Debian 12 onwards, debian-installer will detect and automatically install necessary non-free firmware. For Debian 11 and earlier, please refer to the Firmware Page to determine if and how you may need to download firmware for a successful installation.

Select a Desktop Environment

During the installation, you can select your preferred desktop environment at the Selecting and Installing Software installation step.

By default, Debian installer will choose GNOME, however you can also select Xfce, KDE Plasma, Cinnamon, MATE, LXDE, or LXQt.

GNOME and KDE each boast a complete desktop experience, an extensive ecosystem of apps, and support for Wayland.

For older computers, consider using Xfce, LXQt, or LXDE, as they consume less system resources.

Users used to GNOME 2 may prefer MATE, which is a continuation of that project.

Users transitioning from Windows may prefer Cinnamon, which provides a Windows 7-like experience.

Or, you may choose e17 (Enlightenment), a new candidate that also features a touchscreen mode.

Installing

System

To use sudo and your regular password for system administration, leave the root password empty during installation.

There is a neat universal partitioning scheme you can set up, especially if you have an SSD, may want redundant drives, or want to keep laptop drives spun down to lower noise and power consumption. Find it together with instructions on how to minimize disk writes as at SSD Optimizations.

Bug DebianBug:653760 - The audio group must not have any members, otherwise consolekit won't adjust audio permissions (ACLs) when switching between users.

If shared directories are used (see user private groups or if restrictive umask value (for example 0077) is necessary then in Debian 12 bookworm and earlier releases you should enable the pam_umask.so module in PAM configuration, see System-wide umask configuration in Permissions. No action should be required since Trixie. With releases older than Bookworm there were issues with systemd user session or GNOME display manager (gdm) overrode the system's default umask. Thus, if you use gdm you may try to fix it, or just install another dm like kdm, slim, or LightDM, but consider per-user umask settings recipes first.

"Green" or laptop hard disk models often suffer from parking/unparking their heads every 10 seconds or so, causing excessive wear. Check 'smartctl -a /dev/sdX' to see your current Load_Cycle_Count. As a countermeasure, install laptop-mode-tools and set CONTROL_HD_POWERMGMT=1 in /etc/laptop-mode.conf (sets "hdparm -B 254" on AC to stop those clicks). Alternatively, you may be able to set the hard drive's head parking idle timeout to something like 1-3 minutes, or to disable the timeout altogether on NON-mobile devices (idle3-tools), have a process generate more frequent disk activity as long as it sees other activity (https://code.google.com/p/wdsaver), or hunt down and eliminate the source of the periodic disk accesses (probably log messages).

Check that /etc/aliases contains a root: <mail-user> line that forwards mail directed at the root user to your own user account, and execute "sudo newaliases" if changes were necessary. (And set up your mail program to check your local mailbox under /var/mail/.

To monitor hard drive health status, install smartmontools and smart-notifier, then set "start smartd = yes" in /etc/default/smartmontools.

Maybe consider using AppArmor / Tomoyo and separate sub-users to confine browsers, email clients, etc.

Enable users to create (windows/cifs) network shares

Install samba (if not present already), then "sudo adduser <username> sambashare" to allow <username> to create file shares.

To avoid that samba creates files as the reserved user "nobody" (who should never own any files on the system), create a "sambaguest" user and add the following to the global section of /etc/samba/smb.conf:

guest account = sambaguest

To ensure that files created by samba guests are locally accessible, add this to the global section of /etc/samba/smb.conf:

inherit permissions = yes

Also remember to "chmod g+s" the directories of writable shares to be setguid dirs and set their read/write permissions according to the allowed samba users (i.e. publicly to enable guest access). (Bug Debian DebianBug:678834)

The "inherit permissions = yes" option lets samba create files with the permissions of the containing directory (but x bits are still mapped to the Windows' system flags: archive, hidden).

If your router does not resolve local hostnames correctly, and your ISPs DNS servers respond with false IPs instead of returning "unknown", also enable the "name resolve order" line (remove the ";") and move "host" to the end of the list.

(Locally Shared) Group Directories

With the umask correction from above, plus some default skeleton directories, Debian can easily provide a really nice out-of-the-box user collaboration experience: users can simply collaborate on files, pictures, documents, etc. on multi-user systems (e.g. family PCs, servers etc.) in their group directories. Out of the box, the default group "users" allows all users to collaborate on files in /home/users; for finer grained collaboration, you can set up additional user groups.

See the UserPrivateGroups (UPG) wiki page for details and UbuntuWiki:MultiUserManagement

Web Browser

For a recent and still maintained version of a mozilla browser, you need to enable the "release" source from mozilla.debian.net.

For secure and sane browsing, install the following extensions with the Debian package manager: DebianPkg:xul-ext-noscript (clean companies from default whitelist), DebianPkg:xul-ext-adblock-plus (disable its default whitelist), DebianPkg:xul-ext-cookie-monster, DebianPkg:xul-ext-useragentswitcher (set generically), and DebianPkg:xul-ext-refcontrol (set to block).

The add-ons HTTPS-Everywhere, "Ref Control" and "Request Policy" (maybe remove the companies it sneaks into your whitelist) may only be available through the browser Add-ons download menu/page.

Also consider the add-ons "ghostery", and "self-destructing cookies" to block unwanted cookies, and enable deletion of required cookies once its tab is closed (if allowed and not whitelisted), and delete all the cookies you were already fed with against your independence.

If you need to use the DebianPkg:flashplugin-nonfree, it is in the contrib repository, and consider installing the betterprivacy extension.

Stop the browser from sending Google a hash of every site you visit (ready to be added to your hashed browsing track) by disabling the options flagged as "block reported forgery and attack sites" in the security properties.

Disable the search engine "support" and of course the custom Google start page, to prevent the browser from connecting there every time you start the browser or search something and identifying you reliably in the process.

See [1] to find out how generic your fingerprint on the web really is, and monitor your firewall logs to even get to know the strange places your computer connects to.

Consider BFilter. [2] (newer packages: http://wiki.ubuntuusers.de/bfilter)

Additional packages you may want to install

Use apt-get install <packagename>, or the synaptic package manager to find, select and install the following packages:

  • firmware-linux* (from non-free repository may be needed even to install with certain hardware)
  • synaptic (not included with the Xfce desktop)
  • preload (will preload often used programs into ram)
  • mc (midnight commander, a console file manager)
  • a ssh-askpass package (lets ssh use a graphical password prompt window when run under X)
  • geeqie (fast picture viewer)
  • vlc, browser-plugin-vlc, freetuxtv (video player)
  • parcellite or clipit (lightweight clipboard manager)
  • autokey (keyboard shortcuts)
  • zim (managing notes) + scrot (for screenshot plugin) Put "zim --plugin trayicon" in autostart.
   (e.g. on SSDs autosave after ten minutes instead of 10 seconds: ~/.config/zim/preferences.conf: autosave_timeout=600)
  • goldendict-worldnet (english dictionary, and trans-de-en current selection with hotkey)
  • ding + trans-de-en + agrep (translations)
  • Back In Time(upstream) - (GUI backup program using rsync in the back)

User

Set up checking of the local /var/mail/<user> mailbox (e.g. add a mail notification icon to the panel).

Depending on the chosen desktop environment, your habit and the strain on your fingers, you may have to enable/disable single-click file opening in the file browser's preferences.

If you need a specific program that is not in the repositories, or installed stable and need a more recent version of a program, refer to DebianSoftware.

If you want to adjust system-wide defaults for all users, refer to DesktopDefaultSettings.

Desktop Specific Adaptions

GNOME

To create network shares with Nautilus, install package "nautilus-share".

To enable the greyed "Password: not asked at login" option for users in System > Administration > Users and Groups (Needed for (guest) account switching in addition to auto login.): Create the nopasswdlogin group,

sudo addgroup --system nopasswdlogin

and add the following to gdm's pam config in /etc/pam.d/gdm:

auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

Make sure this line goes right before the "@include common-auth" line. You can use "sudo adduser <user> nopasswdlogin" to add a user to the group.

Xfce

For network browsing in the thunar file manager, install gvfs-backends and gvfs-fuse, and add your users to the "fuse" group (sudo adduser <user> fuse).

Thunar is missing a plugin to create network shares (bug DebianBug:672539). Workaround: define custom actions (adjust the permissions (setguid) according to the samba section above).

Install Catfish to be able to search for files.

You can get rid of the space-consuming "dock" thing at the bottom by adding the desired starters to Panel 1 and deleting Panel 2 in the Panel settings. To move a panel to another location on the desktop, you need to "unlock" it in the panel settings.

For passwordless user switching, you may create and enable a nopasswdlogin group as described for GNOME, if you are using gdm (the default).

Wheezy's Xfce version does not yet have a dialog to enable touchpad-tapping clicks, you need to add an autostart item that executes the following:

/usr/bin/synclient TapButton1=1 PalmDetect=1

If you need to configure (multiple) monitors and their settings, install "arandr". It allows to save the screenlayout to a .sh file that can be called from an autostart item.

If you want more graphical configuration tools, you may install gnome-disk-utility (palimpsest) and "apt-get --no-install-recommends install gnome-system-tools".

As a photo manager, maybe install Shotwell.

Finally

...have fun! And if you encounter bugs, search the Internet, if the bug is not already filed, find the appropriate package and file a bug against it. If it concerns Debian, you can use the "reportbug" utility for that.

You can create a backup of your complete system installation state with apt-clone.

See also