使用 Dell XPS 13 9360 上的全新出厂 Ubuntu 16.04 修复哪些问题(问答)

Die*_*ego 10 xps 16.04

戴尔工厂在 16.04 上安装的 Ubuntu 有一些缺点,需要修复才能完全有用。以下是我必须解决的问题。请随意添加您的。

[注意] 根据管理员的建议,我在 Ubuntu 论坛上设置了一个主题https://ubuntuforums.org/showthread.php?t=2357424

Die*_*ego 8

冷却风扇因 samba 进程错误而旋转

罪魁祸首是 gvfsd-smb-browse 进程。

将以下语句添加到 /etc/samba/smb.conf 的 [global] 部分

name resolve order = wins lmhosts bcast
Run Code Online (Sandbox Code Playgroud)

https://itsfoss.com/fix-gvfsd-smb-high-cpu-ubuntu/

删除冲突的重复触摸板驱动程序

为了让事情正常工作,我需要禁用第二个触摸板设备“SynPS/2 Synaptics TouchPad”。我认为它主要被忽略了,并且 syndaemon 附加到它而不是“DLL0704:01 06CB:76AE Touchpad”,它实际上是管理触摸板。

我在 Xorg 配置文件中禁用了它。我打开了:

/usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf

并添加了这个条目:

代码:

# 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
Run Code Online (Sandbox Code Playgroud)

https://ubuntuforums.org/showthread.php?t=2316240

激活触摸板手掌检测

在第 13 行之后添加到 /usr/share/X11/xorg.conf.d/50-synaptics.conf 中,Option "PalmDetect" "1" 因此该部分的整体如下所示:

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
Run Code Online (Sandbox Code Playgroud)

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&
Run Code Online (Sandbox Code Playgroud)

触摸板图标应出现在通知区域中。转到首选项,设置常规选项-> 自动启动和操作-> 键入时禁用触摸板。您可能也想以毫秒为单位调整延迟。

更改触摸板上两指滚动的滚动方向:

编辑:以下文件似乎对滚动没有任何影响,但会破坏鼠标功能。我再次删除了它,但不再有滚动问题。

https://askubuntu.com/a/519859/452753 的替代方法对我有用:

在您在首选文本编辑器中打开的文件 /usr/share/X11/xorg.conf.d/20-natural-scrolling.conf 中,粘贴以下内容:

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
Run Code Online (Sandbox Code Playgroud)

保存文件并重新启动。如上所述,个人用户可以通过使用 Ubuntu-Tweak 来“打开”自然滚动(这将与基于每个用户的系统范围设置相反,但不会影响其他想要使用自然滚动的用户的实际系统设置)。

默认情况下让 F1-F12 行代替媒体键起作用

如何在戴尔笔记本电脑上反转 fn 键? 在 POST(开机自检)期间按 F2 以进入系统设置 (BIOS) 实用程序。

在功能键行为中,选择多媒体键优先或功能键优先。

功能键优先 — 这是默认选项。按任意功能键执行相关功能。对于多媒体操作,请按 Fn + 所需的多媒体键。

缺少专用的向上/向下页面、主页/结束按钮。

XPS 13 键盘将这些按钮与箭头按钮组合在一起,因此需要两只手才能使用它们(需要按 Fn)。在这里,我将打印按钮重新用作主页按钮并作为 PgDn 插入:

xmodmap -e "keycode 107 = Home" # using "Print" button
xmodmap -e "keycode 118 = Next" # using "Insert" button
Run Code Online (Sandbox Code Playgroud)

在系统设置->键盘->快捷方式->截图中删除打印截图的快捷方式

右 Ctrl(带有列表符号)+ up_arrow/down_arrow 也用作 home/end。

加密主目录阻止基于 ssh 密钥的身份验证和 vpn 客户端

这不是严格意义上的 XPS 或 16.04 相关问题,但了解您需要将 authorized_keys 文件移到加密主目录之外以便能够使用基于 ssh 密钥的身份验证是有帮助的。 https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Troubleshooting

如果您使用加密的主目录,这里是 VPN 提供商之一的帮助条目,用于修复他们的软件。 https://helpdesk.privateinternetaccess.com/hc/en-us/articles/227831828-Installing-the-PIA-app-on-Linux-with-encrypted-home-directories

将默认电源按钮行为从交互更改为挂起

gsettings set org.gnome.settings-daemon.plugins.power button-power suspend
Run Code Online (Sandbox Code Playgroud)

使用外部显示器时,显示器在挂起后保持空白

此问题似乎与旧内核中的 Thunderbolt 协议支持不佳有关。更新内核后,插入/拔出监视器后崩溃/挂起的问题似乎消失了 - 见下文。

更新到最新的 HWE 内核

XPS 13 随附的 4.4.0 内核似乎在 WiFi 中断、从睡眠中恢复以及外部监视器随着内核更新而消失等方面存在一些问题。

有很多更新内核的选项,但是据我所知,最好的方法是安装一个签名的(因为原始映像已经签名,没有它 UEFI 可能会抱怨)HWE(硬件启用)内核以及图像额外司机。HWE 尤其重要,因为 4.10 和 4.13 内核更新带来了对 Thunderbolt 3 支持的重大改进——如果您使用扩展坞,则非常重要。以下命令执行此操作:

sudo apt install linux-signed-generic-hwe-16.04 linux-image-extra-virtual-hwe-16.04
Run Code Online (Sandbox Code Playgroud)

如果您不安装linux-image-extra-virtual-hweWiFi 和触摸板,则可能无法正常工作。

此内核更新还可以解决上述问题,即在恢复/连接到外部显示器后屏幕无法正常工作。

  • 对于触摸板驱动问题,戴尔提供官方解决方案[这里](http://www.dell.com/support/article/us/en/19/sln304721/erratic-cursor-movement-on-the-xps-13 -15-series-laptops-and-precision-mobile-workstations-with-ubuntu-1604-installed?lang=en)。基本上,Ubuntu 16.04 尝试使用带有触摸板的 `psmouse` 和 `i2c` 驱动程序,因此您可以简单地禁用 `psmouse`(模拟 PS/2 界面)并使用 `i2c`。我已经在我的 9360 上尝试过这个并确认它有效。打字时,鼠标光标也不会因手掌击打而将焦点转移到其他窗口。 (2认同)

And*_*mel 8

这是我的列表,基于Dell XPS 13 (9360) 上 Arch Linux Wiki 的建议

更新 linux-firmware 以获得 i915 guc 和 huc blob

手动安装最新的 linux-firmware(至少在 20170217 之后发布)。

  1. 转到Ubuntu linux-firmware 软件包站点以获取 zesty
  2. 点击“linux-firmware 1. xyz in amd64 (Release)”,其中xyz是你在页面上看到的最新版本。(假设您需要 64 位软件包)
  3. 在可下载文件下单击以下载 .deb 文件。
  4. 双击下载的文件进行安装。

更新到最新内核以获得 NVMe 节能

手动安装内核 4.11rc1 或更高版本以获得NVMe 节能补丁(下载您选择的版本的 linux-image-generic、linux-headers 和 linux-headers-generic)。仅此一项就可以为您节省 30% 的闲置电量。

  1. 转至Ubuntu 主线内核站点
  2. 滚动到页面底部,然后单击底部链接。
  3. 点击下载 amd64 .deb 文件:
    • linux-headers-*.deb
    • linux-headers-*-generic.deb
    • linux-image-*-generic.deb
  4. 双击下载的文件进行安装。
  5. 运行sudo update-grub

提高图形性能和节能

首先需要以上两个更新!

之后编辑/etc/default/grub并包含以下选项GRUB_CMDLINE_LINUX_DEFAULT="quiet splash以改进视频驱动程序的节能和性能:

i915.modeset=1 i915.enable_rc6=1 i915.enable_fbc=1 i915.enable_guc_loading=1 i915.enable_guc_submission=1 i915.enable_huc=1 i915.enable_psr=1 i915.disable_power_well=0 i915.semaphores=1
Run Code Online (Sandbox Code Playgroud)

运行sudo update-grub

请注意,您应该能够将这些添加到 i915 模块的 .conf 文件中,但是 Ubuntu 在我创建它时似乎没有查看该文件,这就是我推荐这种方法的原因。此外,目前并非所有选项都受支持(例如 enable_huc 和 sempahores,但可能会在以后的内核或 linux 固件版本中支持)。

我已经用这个测试了 Borderlands 2,并看到了大约 5 FPS 的改进(在原来的 26 FPS 上)。我还看到功耗略有下降。

确保您获得最佳无线速度

/etc/default/crda在 REGDOMAIN 行的末尾编辑并设置您的国家/地区代码。

例如。 REGDOMAIN=US

修复触摸板上的手掌检测

安装xserver-xorg-input-libinput.

创建/usr/share/X11/xorg.conf.d/90-libinput.conf包含:

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "Tapping" "True"
        Option "PalmDetection" "True"
        Option "TappingDragLock" "True"
EndSection
Run Code Online (Sandbox Code Playgroud)

修复部分画面撕裂问题

创建/usr/share/X11/xorg.conf.d/20-intel.conf包含:

Section "Device"
        Identifier  "Intel Graphics"
        Driver      "intel"
        Option      "AccelMethod" "sna"
        Option      "TearFree"    "true"
EndSection
Run Code Online (Sandbox Code Playgroud)