分类 linux 下的文章

我在使用Krita的时候,发现系统内所有KDE应用(包括Krita, Konsole, Dolphin等)的菜单栏(如下图)都消失了。经过一番搜索之后发现这是一个从2018年就开始出现的bug特性。解决方法也并不难:打开终端,输入cd /home/%USERNAME%/.config,回车 (请把%USERNAME%替换成您的用户名)输入find ./ -type f -exec sed -i 's/MenuBar=Disabled/MenuBar=Enabled/g' {} \;,回车;打开系统设置,进入应用程序样式 > 窗口装饰 > 标题栏按钮, 移除"应用程序菜单";回到系统设置的第一级,进入开机与关机 > 后台服务 > 应用程序菜单守护程序,将其关闭;重启打开的KDE应用,现在菜单栏应该会出现了。没错,我又水了一篇文章 (ゝ∀・)

事情的起因要从我试图把Vim的默认字体设成Firacode说起。这套字体支持所谓"Ligatures",简单来讲就是可以把"->""!="等两个符号组成的常用操作符连成单个符号。然而我的Vim似乎并不支持这种魔法,研究一下之后发现是我的Vim版本过旧所致。然而Debian的祖宗之法使得bullseye版本的官方.deb包最高只到8.2.2434,并不支持这套字体;Vim官方提供的Appimage也没法正常运行,那就只好自行编译了。经过了一番折腾之后,总结出来的步骤如下:sudo apt-get install libncurses libgtk2.0-dev libatk1.0-dev libcairo2-dev libx11-dev libxpm-dev libxt-devsudo apt-get build-dep vim-gtk vim-x11 #安装依赖git clone https://github.com/vim/vim.git #从Github获取编译所需的源代码cd vim/src #移动到vim/src/路径下sudo apt-get install ruby-dev #(可选)安装ruby支持./configure --with-features=huge --enable-gui=gtk3 --with-x #设置编译参数,确保编译后的结果带有GVimmake #编译sudo make install #安装,完成安装完成之后,Vim依然不支持Ligatures,需要手动启用这一功能::set guiligatures=!\"#$%&()*+-./:<=>?@[]^_{\|~ #这一串字符为允许Ligatures起作用的字符教程结束!

最近在树莓派上跑了很多奇奇怪怪的东西,于是就把gui关了省资源然后就发现不能自动挂载了先在度娘找到了这篇文章,被转载了很多次,但我自己尝试就是不成功,可见那些在17年之后转载的人自己都没试过....然后又看到了fstab的方式,但不支持热插拔,而且每个硬件都要操作一遍,不能一劳永逸;并且,关于同一个问题有多种方案,我想说"这很linux"看来度娘上就找不到这个问题的回答了,就自己去google用工地英语找找了3h,结果还是没找到能解决的方案最后看到了这篇文章接着豁然开朗稍微改了下代码sudo vi /etc/udev/rules.d/10-usbstorage.rules KERNEL!="sd*", GOTO="media_by_label_auto_mount_end" SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end" IMPORT{program}="/sbin/blkid -o udev -p %N" ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end" ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k" ACTION=="add", ENV{mount_options}="relatime,sync" ACTION=="add", ENV{ID_FS_TYPE}=="vfat" ACTION=="add", ENV{ID_FS_TYPE}=="ntfs" ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/usr/bin/systemd-mount --no-block --collect /dev/%k /media/%E{dir_name}" ACTION=="remove", ENV{dir_name}!="", RUN+="/usr/bin/systemd-umount /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" LABEL="media_by_label_auto_mount_end"成了!end