Cooling Fan spins up because of a faulty samba process
The culprit is gvfsd-smb-browse process.
Add the statement below to [global] section of your /etc/samba/smb.conf
name resolve order = wins lmhosts bcast
https://itsfoss.com/fix-gvfsd-smb-high-cpu-ubuntu/
Remove conflicting duplicate touchpad driver
To get things working properly, I needed to disable the second touchpad device "SynPS/2 Synaptics TouchPad". I think it was mostly being ignored, and syndaemon was attaching to it instead of "DLL0704:01 06CB:76AE Touchpad", which was actually managing the touchpad.
I disabled it in the Xorg config file. I opened:
/usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf
and added this entry:
Code:
# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
Identifier "SynPS/2 Synaptics TouchPad"
MatchProduct "SynPS/2 Synaptics TouchPad"
MatchIsTouchpad "on"
MatchOS "Linux"
MatchDevicePath "/dev/input/event*"
Option "Ignore" "on"
EndSection
https://ubuntuforums.org/showthread.php?t=2316240
Activate Touchpad Palm Detection
Add to /usr/share/X11/xorg.conf.d/50-synaptics.conf after line 13 an Option "PalmDetect" "1"
so the overall this section looks like this:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
Option "PalmDetect" "1"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
MatchDevicePath "/dev/input/event*"
EndSection
https://erik.torgesta.com/2016/11/things-to-improve-ubuntu-16-04-on-dell-xps-13-9630/
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
/opt/extras.ubuntu.com/touchpad-indicator/bin/touchpad-indicator&
The touchipad icon should appear in the notification area. Go to preferences, Set General Options->Autostart and Actions->Disable Touchpad on typing. Youst may want to adjust the delay in milliseconds too.
Changing the scrolling direction of the two-finger scrolling on the touch-pad:
EDIT: the below file doesn't seem to have any effect on the scrolling but breaks the mouse functionality. I have deleted it again but do not have the problem with the scrolling anymore.
Alternate method from https://askubuntu.com/a/519859/452753 worked for me:
In the file /usr/share/X11/xorg.conf.d/20-natural-scrolling.conf you have opened in your preferred text editor, paste the following:
Section "InputClass"
Identifier "natural scrolling for mouse wheel"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "mouse"
Option "Device" "/dev/input/mice"
Option "Protocol" "Auto"
Option "ZAxisMapping" "5 4"
EndSection
Save the file and reboot. As above, individual users can switch it off on a per-user basis by using Ubuntu-Tweak to "turn on" natural scrolling (it will be the reverse of the system-wide setting on a per-user basis but will not affect the actual system setting for other users who will want to use natural scrolling).
Get the F1-F12 row to function as such instead of media keys by default
How to invert fn keys on Dell Laptop?
Press F2 during POST (Power On Self Test) to enter the System Setup (BIOS) utility.
In the Function Key Behavior, select Multimedia Key First or Function Key First.
Function Key First — This is the default option. Press any function key to perform the associated function. For multimedia action, press Fn + the required multimedia key.
Lacking dedicated page up/down, home/end buttons.
The XPS 13 keyboard has these buttons combined with the arrow buttons and so one needs two hands to access them (pressing Fn required).
Here I re-purpose Print button to act as a Home button and Insert as PgDn:
xmodmap -e "keycode 107 = Home" # using "Print" button
xmodmap -e "keycode 118 = Next" # using "Insert" button
Remove the Print shortcut to Screenshot in the System Settings->Keyboard ->Shortcuts->Screenshots
Right Ctrl (with the list symbol) + up_arrow/down_arrow function as home/end as well.
Encrypted home directory blocks ssh key based authentication and vpn client
This is not strictly an XPS or 16.04 related issue, but it is helpful to know that you need to move your authorized_keys file outside of your encrypted home directory in order to be able to use ssh key based authentication.
https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Troubleshooting
Here is a help entry from one of the VPN providers on the fix for their software in case you are using encrypted home directory.
https://helpdesk.privateinternetaccess.com/hc/en-us/articles/227831828-Installing-the-PIA-app-on-Linux-with-encrypted-home-directories
Change Default Power Button Behaviour From Interactive to Suspend
gsettings set org.gnome.settings-daemon.plugins.power button-power suspend
Monitor Stays Blank After Suspend When External Monitor Was In Use
This issue seems to pertain to poor Thunderbolt protocol support in older kernels. Problems crashing/hanging after plugging/unplugging monitors seem to go away after updating the kernel - see below.
Update to latest HWE Kernel
The 4.4.0 kernel that ships with the XPS 13 seems to have some problems with WiFi breaking, resuming from sleep, and external monitors that goes away with a kernel update.
There are many options for updating the kernel, however as far as I can tell the best approach is to install a signed (because the original image was signed and UEFI may complain without it) HWE (Hardware Enablement) kernel along with the image-extra drivers. HWE is especially important because the 4.10 and 4.13 kernel updates bring significant improvements in Thunderbolt 3 support--super important if you are using a docking station. The following command does that:
sudo apt install linux-signed-generic-hwe-16.04 linux-image-extra-virtual-hwe-16.04
If you don't install linux-image-extra-virtual-hwe
your WiFi and touchpad will probably not work.
This kernel update may also fix the above issue with the screen not working after resume / connection to external monitor.