跳至主要内容

博文

Fix Docker Desktop in Windows using MOFCOMP

前一段 Windows 10 上的 Docker Desktop 突然不工作了,卸载重装也无效。一开始以为是 HyperV 里面什么地方被折腾坏了,但是删光了自定义的网络和设备仍旧无助。 后来在[某处](https://www.soinside.com/question/YKwpTYAjjstuUjDSvdkKx9) 看到有人给了这么一条命令(需要以系统管理员权限执行): MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof 重启之后重装居然解决了! `mofcomp` 貌似是 Windows Management Instrumentation (WMI) 中的[一个命令行工具](https://docs.microsoft.com/en-us/windows/win32/wmisdk/mofcomp), > Mofcomp.exe 是一个操作系统工具,用于编译 MOF 文件,并将文件中包含的信息添加到 WMI 存储库中。 坦白说暂时还不清楚为什么这个命令管用,先记下来以备不时之需……

Spotify 和 Amazon Music 的服务试用小结

最近两个月在对比 Amazon 的 Unlimited Music Service 和 Spotify。 之前买了一对 Echo Dot 小音箱,可以通过蓝牙连接作为播放音箱,更秒的是可以通过 Alexa 声控。另外,台式机的桌面上还藏着一枚不起眼但是音质很过瘾的 Sony SRS ZR7,它可以支持 Chrome Cast 以及 WIFI 连接。所以主要是针对这两种不同类的音箱。 巧的是,Amazon和Spotify都提供了差不多一个月的免费试用期,于是在电脑、手机上都安装了两家的播放器,有空就放来听听。最后体验下来 Spotify 取得了压倒性的胜利: 1. 播放软件的操控性极佳 Spotify 为每个用户提供一个“唯一”的播放队列,当你正在聆听手机上播放的歌曲时,如果通过电脑切换到 WIFI 音箱播放,那么切换的过程是非常顺的——手机上声音停止,电脑里的播放器看得到正在转到新的目标播放器,短暂停顿之后在音箱里就继续播放了。 坦白说一开始我对于这个“唯一的播放队列”有点不太适应,还想着应该每个终端都有一个当前播放的列表。但是使用了几天之后立即适应了这个模型,觉得操作也非常直观。Amazon 的播放器貌似就没有这种顺滑的操作体验,基本上不同终端之间几乎是互不可见的状态…… 2. 平台支持超级丰富 无论是哪一个终端设备都有支持,iphone、android,Web 界面,在到传统的台式机领域——从 Windows 到 MacOS,甚至到 Linux 都有播放器可以安装!而 Amazon 的 Music 在手机和 Windows 上都有,主要是因为在 Android 和 Windows 的体验都不乍的,别的平台我后来都没有兴趣去仔细找。 3. 价格也差不多 二者在土澳的价格差不多都是 `11.99/month`,不过 Echo 设备可以订阅量身定制的简约套餐,大概是 5/month 左右吧。可惜由于上面的对比,就失去了性价比。 客观的说,Spotify 也不是一个缺点都没有—— Echo 设备可以播放 Spotify,可是 Alexa 的整合程度不高,我可以说歌手名或是歌曲名,可以 "Play Next",别的貌似就没了……对比之下,Echo 播放 Amazon Music 的整合优势是相当明...

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。