跳至主要内容

博文

目前显示的是标签为“Archlinux”的博文

Archlinux Desktop Setup - Bumblebee issue caused by NVIDIA driver

不知道何时起,我的老 Dell 笔记本上的 Bumblebee service 就停止工作了。想要跑个 `optirun glxgears -info` 居然提示说 Bumblebee 服务没有启动…… 找到以前的blog以及Arch的wiki仔细研究了一下,发现大概是曾经安装的nvidia驱动在某次系统更新后就出问题了。按照 [这个人的说法](https://www.reddit.com/r/archlinux/comments/a5nw93/cant_find_nvidia_module_when_doing_modprobe_nvidia/),我又回到wiki里面仔细对比了自己的设备型号,发现貌似不应该安装 `nvidia-390xx`: > For GeForce 400/500/600 series cards [NVCx and NVDx] from around 2010-2011, > install the nvidia-390xx-dkmsAUR package. 于是抱着试一试的心态,重新安装了这个包,中间自然将原本的那个 package 给删除了: ➜ ~ yay -S nvidia-390xx-dkms :: Checking for conflicts... :: Checking for inner conflicts... ==> Package conflicts found: -> Installing nvidia-390xx-dkms will remove: nvidia-390xx ==> Conflicting packages will have to be confirmed manually [Repo: 1] dkms-2.8.1-3 [Aur: 1] nvidia-390xx-390.132-37 (nvidia-390xx-dkms) :: Downloaded PKGBUILD (1/1): nvidia-390xx (nvidia-390xx-dkms) 1 nvidia-390xx (nvidia-390xx-dkms) (Build Files E...

ArchLinux - fix pacman upgrade issue caused by Xorg cleanup

2019年底试图执行 `pacman -Syu` 的时候总是遇到一个错误,无法执行更新。 ``` ➜ ~ sudo pacman -Syu :: 正在进行全面系统更新... 正在解析依赖关系... 正在查找软件包冲突... :: python2-pyqt5 与 pyqt5-common 有冲突。删除 pyqt5-common 吗? [y/N] y :: python2-pyqtwebengine 与 pyqtwebengine-common 有冲突。删除 pyqtwebengine-common 吗? [y/N] y 错误:无法准备事务处理 (无法满足依赖关系) :: 安装 xorgproto (2019.2-2) 破坏依赖 'dmxproto' (libdmx 需要) :: 安装 xorgproto (2019.2-2) 破坏依赖 'xf86dgaproto' (libxxf86dga 需要) ``` 当时谷歌了一下没有发现有效的答案。刚好遇到假期也就搁置一旁。 今天又试了试搜索,果然[有解了](https://www.archlinux.org/news/xorg-cleanup-requires-manual-intervention/) ``` ➜ ~ sudo pacman -Rdd libdmx libxxf86dga 软件包 (2) libdmx-1.1.4-1 libxxf86dga-1.1.5-1 全部移去体积: 0.18 MiB :: 打算删除这些软件包吗? [Y/n] Y :: 正在处理软件包的变化... (1/2) 正在删除 libdmx [####################################] 100% (2/2) 正在删除 libxxf86dga [####################################] 100% :: 正在运行事务后钩子函数... (1/1) Arming ConditionNeedsUpdate... ➜ ~ sudo pacman -Syu :: 正在同步软...

Archlinux Desktop Setup - Audio Control

前文已经提过,为了控制 Arch Linux 进入 XFCE4 桌面系统后的音量控制,安装了以下的包 sudo pacman -S alsa-utils pulseaudio pulseaudio-alsa 另外,系统控制栏不像 Windows 或 MacOS那样自带小喇叭可以管控音量,找到了一个神器 PulseAudio Volume Control 装上了: sudo pacman -S pavucontrol 它可以管理整个系统的声音输入输出,方便用户选择播放设备,像是在 Configuration 界面下选择 * 笔记本自己的内建喇叭 Analog Stereo Output * 或者是通过HDMI接入的显示器的内建音响 Digital Stereo (HDMI) Output * 甚至是外接的蓝牙音箱 另外一个最简单的应用当然就是控制音量,Playback 界面下拉动选择。 由于本人使用的键盘带有多媒体键,想要偷懒通过快捷键控制音量。Google了一下果然找到[答案](https://unix.stackexchange.com/questions/355665/how-to-increase-or-decrease-volume-in-xfce-with-keyboard-shortcuts) 如下: 首先要知道自己的 sink index,使用以下的命令: $ pactl list short sinks 4 alsa_output.pci-0000_00_1b.0.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED 我的系统里是 `4`,接着打开菜单里的 「Settings」选择「Keyboard」,然后在 Layout 界面下添加几个新的配置项目,包括: 1. `pactl -- set-sink-mute 4 toggle` 2. `pactl -- set-sink-volume 4 +10%` 3. `pactl -- set-sink-volume 4 -10%` 然后就可以享受懒人的福利啦,一键静音又回来啦~

Archlinux Desktop Setup - YAY

为了安装 Archlinux 的各种非核心包,像是 AUR 之类,只靠 pacman 是不够用的。有一些早期的文章用的是命令 `yaourt` 不过貌似已经不再推荐使用了。 参考 [【Yaourt 已死!在 Arch 上使用这些替代品】](https://linux.cn/article-9925-1.html#toc_3) 我选择了 `yay` 作为替代,最主要的原因是,它是由 Golang 编写的. 安装也很方便,克隆 git repository 之后自己编译,yay 的二进制文件貌似只对 pacman 有依赖: git clone https://aur.archlinux.org/yay.git cd yay makepkg -si 然后用起来也很清爽, # Search a package yay -Ss # Install the package yay -S

Archlinux Desktop Setup - Bumblebee to bridge IGA and NVIDIA

不满足于新安装的 Archlinux/Xfce4 里面仅能使用 Intel 的集成显卡,于是开始折腾如何启用 Nvidia 的独立显卡,我的这台老本本里带的是 GeForce GT500M。 先是卸载了之前误装的 nouveau,不过它的wiki相当不错,配套的 [freedesktop.org 页面](https://nouveau.freedesktop.org/wiki/CodeNames/#NVC0) 提供了完整的 Code Names,我的 GT500M 属于 NVC0 Family (Fermi 架构) 的 `NVD9 (GF119)` 。 在 Nvidia 的官网页面上 [Legacy Driver](https://www.nvidia.com/object/IO_32667.html) 里面可以看到 `390.xx Driver` 可以支持这款显卡。[Archlinux Nvidia 的 wiki](https://wiki.archlinux.org/index.php/NVIDIA#Minimal_configuration) 上也写得很清楚: > For GeForce 400/500 series cards [NVCx and NVDx] from around 2010-2011, install the nvidia-390xx or nvidia-390xx-lts package. 于是执行最简步骤,顺利地安装了以下packages: yay -S xf86-video-intel yay -S mesa xf86-input-mouse xf86-input-evdev xf86-input-keyboard yay -S nvidia-390xx nvidia-390xx-utils 接着安装 [“大黄蜂” 【bumblebee】](https://wiki.archlinux.org/index.php/Bumblebee),它是相当于 Nvidia Optimus 的一种技术,针对笔记本电脑的显卡切换提供无缝的支持,大多数情况下使用 Intel 的集成显卡来渲染,当需要的时候(例如游戏或是OpenGL调用)可以切换为 NVIDIA 独立显卡提供高帧率的渲染。 早期的计算机不具...

Archlinux Desktop Setup - Clock Timezone and System Time

安装好 XFCE4 之后,桌面的右上角有desktop panel,也有clock,wifi和power的托盘图标等。 结果发现clock显示的时间居然不是按照当前的时区来的,尽管我已经做好了 `/etc/localtime` 的软连接到 `/usr/share/zoneinfo` 下面的时区文件。 后来查了查和clock有关的资料,发现这些小widget都是配置在 `~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml` 里面的。在其中查找关键字 "clock" 就可以定位到对应的 `plugin` 的 id。 在我的桌面下,clock对应的是 `plugin-5`。于是可以执行 `xfconf-query -c xfce4-panel --list | grep plugin-5` 来列举所有与这个空间相关的配置项。结果意外的发现居然没有显式配置。 参考 [这篇BBS的讨论](https://bbs.archlinux.org/viewtopic.php?id=233651), <property name="plugin-5" type="string" value="clock"> <property name="timezone" type="string" value="EST"/> <property name="mode" type="uint" value="2"/> <property name="show-military" type="bool" value="false"/> <property name="show-seconds" type="bool" value="true"/> <pro...

Archlinux Desktop Setup - XFCE4

安装 Desktop 是很方便的, 1. `sudo pacman -S xorg-server xorg-xinit xterm` 2. `sudo pacman -S xfce4 xfce4-goodies` 可以先尝试进入 X 系统,再进入 XFCE: 3. `exec startx` 4. `exec startxfce4` 然后开始解决没有声音的问题,可以安装以下的包,并为系统添加一个可以调节音量的控件: 5. `sudo pacman -S alsa-utils pulseaudio pulseaudio-alsa` 6. `sudo pacman -S pavucontrol` 针对 Desktop 显示中文方框的问题,需要安装几个字体,包括 `ttf-dejavu`、 `ttf-droid` 和 `wqy-microhei`、 `wqy-zenhei` 等。 如果喜欢使用中文界面,可以在 `/etc/xprofile` 中 `export LANG=zh_CN.UTF-8`,重启之后可以看到所有菜单都已经是熟悉的中文了。 搞定桌面之后可以安装一个 Desktop Display Manager,例如 `sddm`。 > Simple Desktop Display Manager (SDDM) 是用于X11和wayland视窗系统的显示管理器(图形登录界面)。 > SDDM 使用C++11重写并且支持通过 QML 改变主题。它是KDM的接替者并且与 KDE Frameworks 5, > KDE Plasma 5 和 KDE Applications 5协同使用。 启用服务 `sudo systemctl enable sddm.service`。这样下一次登录就直接进入GUI模式而不再是console。

ArchLinux in Laptop - Dual OS Boot

手头有一台老笔记本,是2013年买的 Dell XPS14z。去年为她更换过 SSD ,将老的光驱拆了下来挂上了原本的 HDD。这样一共有`700+ GB` 的磁盘空间。去年更新了硬件之后也重灌了 Windows 10系统,时常更新,到目前位置体验都还不错。今天忽然心血来潮,想要做双系统——除了 Win10之外再弄一个 Linux。 14-16年之间在公司的机器上用 Virtualbox安装了 ArchLinux 作为开发环境,Desktop Manager 用的是 XFCE,体验挺不错,因此这次依旧想要使用这套配置。 于是先在 Windows 的 `compmgmt.msc` 里将磁盘卷压缩了一下,SSD 分出了80GB;HDD 上分出了23GB 。然后做了一个 ArchLinux 20190401 ISO 的优盘。Windows 电源选项里取消了关机的快速选项,然后重启,按 F12 到 boot options里面选择优盘进入。 以前在 VirtualBox 里只是一个 partition 挂载为 root(`/`)。这次稍微特殊化了一下,将分区做的多了几个: * `/usr` 推荐大小为12GB - 20GB * `/var` 推荐大小为10GB 左右 * `/home` 自行估计大小 * `/boot` 建议至少 100MB,如果考虑多内核的话,可以到300MB 左右。 用 `fdisk` 分了这几个 partitions,SSD 由于之前已经是4个 primary 所以不能直接 (n)ew,必须先 (d)elete 再创建一个 (e)xtensive 作为容器,在其中可以创建多个 logical partitions。 * `/dev/sda5` (extensive & container, total size 80GB) * `/dev/sda6` (for boot partition, 320MB) * `/dev/sda7` (for root partition, 50GB) * `/dev/sda8` (for usr partition, 18GB) * `/dev/sda9` (for var partition, 12GB) * `/dev/sdb3` (extensive & cont...