Manjaro文档
更换国内源(可以在软件商店设置里修改)
1 | |
修改aur源:
- 原始地址
https://aur.archlinux.org
- 添加 AUR 源:
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save
- 查看配置
yay -P -g或者直接查看~/.config/yay/config.json文件内容。
fcitx5
安装
1 | |
其他一些软件包
1
2
3
4
5
6
7fcitx5: 输入法基础框架主程序
fcitx5-chinese-addons: 简体中文输入的支持,云拼音
fcitx5-gtk: GTK程序的支持
fcitx5-qt: QT5程序的支持
fcitx5-pinyin-zhwiki: 肥猫制作的维基百万词库,没有版权风险, 放心使用
fcitx5-configtool: 图形化配置工具
kcm-fcitx5: KDE桌面环境的支持
打开系统设置在 设置–区域设置—输入法—添加输入法—拼音—配置—-在程序中显示与编辑文本——启用云拼音 返回 配置附加组件 Classic User Interface 选择主题
配置fcitx5的环境变量:
不要在 fcitx 运行时修改, 因为进程退出后会覆写所有配置文件 (大字才能醒目)
1 | |
写入以下内容(内容来自manjaro的wiki)
1 | |
使用wps的用户还需要编辑~/.xprofile添加以下内容(在新版中bug被修复了,但是如果有问题的话,可以尝试此方法)
1 | |
自启动
在设置的开机里设置fcitx5自启动
输入法的默认设置:
1 | |
全自动配置
安装 manjaro的源里的manjaro-asian-input-support
更新:
2022-11-17
1 | |
fcitx5主题文件
主题文件位置:~/.local/share/fcitx5/themes/
将下载的主题放进去,在设置面板里更改就可以了
deepin论坛里的一个主题
百度网盘:链接: https://pan.baidu.com/s/13mn46NhmWRwQ4-Qmiufztg 提取码: 7yai 复制这段内容后打开百度网盘手机App,操作更方便哦
fcitx5-material-color 主题
- 安装
1 | |
然后修改配置文件 ~/.config/fcitx5/conf/classicui.conf
1 | |
pacman常用命令
1 | |
manjaro的pamac命令
他是软件商店的命令版本,也是manjaro自己的包管理命令。类似于ubuntu的apt命令。
1 | |
火狐
改善火狐或chrome滚动
- 在火狐中搜索
Yet Another Smooth Scrolling WE扩展 - chrome中搜索
Chromium Wheel Smooth Scroller扩展
或者
输入在火狐浏览器地址栏输入
about:config
搜索mousewheel
其中mousewheel.defalut.delta_multiplier_y越大,每次滚动一下
滚轮,屏幕就滑动地越大。
除此之外,推测durationMaxMs和durationMinMs参数是
完成滚动的时间间隔,以毫秒计算,数值越小,单次滚动越快。factor
和鼠标滚轮滚动时,屏幕滚动的加速度有关。
禁用webrtc
输入about:config**
搜索:media.peerconnection.enabled
设置成:false
注:测试网站:https://www.vpninsights.com/webrtc-leak-test
设置界面缩放
高分屏缩放,比如netease-cloud-music软件:
可以通过 env QT_SCREEN_SCALE_FACTORS=1.25 netease-cloud-music 启动来解决,也就是在启动文件里添加。
设置快捷键启动的方式:
设置 -> 快捷键 -> 自定义快捷键 -> 编辑 -> 新建 -> 全局快捷键 -> 命令/URL
设置触发器:设置为你习惯的快捷键 -> 动作:命令/URL这填:/usr/bin/flameshot gui
网络启停
开机后显示wifi不可用,鼠标放在网络图标上显示Networkmanager未运行,解决方法是在终端执行以下命令
1 | |
ZSH
- 替换shell
1 | |
- 备注: manjaro已经内置zsh,直接在kde设置里修改即可,ohmyzsh在manjaro也内置了,所以如果自己想折腾,可以直接去github把ohmyzsh克隆到任意位置使用。
PART 1 → oh-my-zsh
默认的 Zsh 配置有点麻烦。因此一个叫 robbyrussel 的用户在 GitHub 上制作了一个配置文件 oh-my-zsh,这是目前为止最流行的 Zsh 配置:
如果你不想看官方的安装说明,请看这里:
第一步 → 把 oh-my-zsh 项目 Clone 下来:
1 | |
第二步 → 复制 .zshrc
1 | |
第三步 → 更改你的默认 Shell
1 | |
现在,你会看到你的命令提示符变了。
zsh的配置文件存在当前用户目录中的.zshrc文件,如果你发现切换了shell之后,以前的配置的环境变量不生效了,可以打开 .zshrc文件,找到:
1 | |
指定配置的环境变量文件,之后运行:
1 | |
前往 oh-my-zsh 的 Wiki 就可以看到大多数 oh-my-zsh 的内置主题以及它们的截图。如果你看中的其中的一款,可以重复上面的步骤,编辑~/.zshrc,并更改ZSH_THEME=”xxx”。
比如你看中了 ys 主题(我的最爱),你可以把 ZSH_THEME 改成 “ys”,然后回到终端,执行 source ~/.zshrc 命令。
P.S. 这些主题都保存在 “~/.oh-my-zsh/themes” 目录中
powerlevel10k主题
1
2
31. 安装
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
2. 傻瓜式配置 终端中输入 p10k configure- 安装完 powerlevel10k 后你可能会发现有乱码,这是因为你终端字体不支持那么多的字符,这就需要使用扩展字体了。
PART 3 → 插件
oh-my-zsh 的自带插件都储存在 "~/.oh-my-zsh/plugins" 目录中,如果你希望安装一个插件,可以在 "~/.zshrc" 的 plugins=(xxx, xxx, ...) 这一行里加入插件名称
如果你需要安装第三方插件和主题,你可以在 "~/.zshrc" 的某一行(比如末尾)加入 source /path/to/plugin
比如你希望添加一个 zsh-syntax-highlighting 插件 ↓
1 | |
kde主题文件位置
要么在根目录的usr目录下,要么就在home的.config目录下。
要删除主题,先把当前使用的主题换成默认的主题,然后根据下面的目录删除即可。
1 | |
重启桌面
1 | |
问题:
ctrl+f2进入tty,中文显示为方块
解决方法:安装fbterm
错误: Cannot find the fakeroot binary. ==> 错误: Cannot find the strip binary
解决方法:因为没安装 fakeroot、binutils 等打包基本工具,所以sudo pacman -S --needed base-devel 装一下。
使用数位板
1.查看系统信息中的内核版本,根据内核版本安装linux-header
2.安装aur源中的驱动:yay -S digimend-drivers-git-dkms
蓝牙
安装manjaro-bluetooth
如果不能接收文件,
更改kde设置-蓝牙-配置-接收文件选项 为接受信任设备或总是接受
关闭watchdog
根据 维基百科:看门狗定时器 :
由于系统的关键任务(即服务器)或缺少电源重置(即嵌入式设备),许多用户需要此功能。 因此,在某些情况下,此功能是良好操作所必需的。 另一方面,普通用户(例如台式机和笔记本电脑)不需要此功能,可以将其禁用。
要禁用看门狗定时器(包括软件和硬件),请附加 nowatchdog 到您的启动参数。
要检查新配置,请执行以下操作:
1 | |
或使用:
1 | |
附加启动参数到grub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21如果要禁用watchdog,需要在内核启动选项里面添加一个参数:
nowatchdog
添加的方法是修改 /etc/default/grub 文件加上这个参数(用什么编辑器都可以,只要有root权限修改)
sudo nano /etc/default/grub
找到其中包含 GRUB_CMDLINE_LINUX_DEFAULT 的一行,等号后面的字符串里面加个空格,加上nowatchdog就行了,比如:
本来是
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash foo=bar"
改成
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash foo=bar nowatchdog"
修改完毕之后
在终端中调用 update-grub
禁用看门狗后,您也可以 选择 避免加载负责硬件看门狗的模块。 通过 列入黑名单 将相关模块 ,例如 iTCO_wdt.
注意: 一些用户 报告 了 nowatchdog 参数不能按预期工作,但是他们已通过将上述模块列入黑名单而成功禁用了看门狗(至少是硬件之一)。
这两种操作都会加快启动和关闭的速度,因为只加载了一个模块。 另外,禁用看门狗定时器可以提高性能并 降低功耗 。
有关 请参见 [3] , , [4] , [5] 和 [6] 更多信息 。
将硬件列入黑名单
在内核模块的上下文中,黑名单是一种防止内核模块加载的机制。 例如,如果不需要关联的硬件,或者如果加载该模块会导致问题,这可能会很有用:例如,可能有两个内核模块试图控制同一硬件,然后将它们一起加载会导致冲突。
有些模块作为 initramfs 的一部分装入。
mkinitcpio -M 会显示所有自动检测到到模块:要阻止 initramfs 装入某些模块,可以在 /etc/modprobe.d中将它们加入黑名单。并应在映像生成过程中通过modconf挂钩将其添加。
运行 mkinitcpio -v 会显示各种钩子(例如 filesystem 钩子, SCSI 钩子等)装入的模块。如果您的HOOKS 数组中没有 modconf 钩子(例如,和默认配置不同)则请将该”.conf”文件添加到/etc/mkinitcpio.conf中的FILES数组中。一旦您将其列入黑名单,请重新生成 initramfs,然后重新启动。
使用/etc/modprobe.d/中的文件
在 /etc/modprobe.d/ 中创建 .conf 文件,使用 blacklist 关键字屏蔽不需要的模块,例如如果不想装入 pcspkr 模块:
1 | |
注: 该 blacklist 该命令会将一个模块列入黑名单,因此不会自动加载该模块,但是如果另一个未列入黑名单的模块依赖该模块或手动加载该模块,则可能会加载该模块。
要避免这个行为,可以让 modprobe 使用自定义的 install 命令,而不是像往常一样将模块插入内核,因此您可以通过以下方式强制模块始终无法加载:
1 | |
这样就可以 “屏蔽” 模块及所有依赖它的模块。
1 | |
停用 watchdog
关机时提示:watchdog: watchdog0: watchdog did not stop! 在台式机和笔记本上安装 Manjaro 时可以停用 watchdog 模块
提高性能#Watchdogs
许多用户由于其系统的关键任务角色(即服务器)或缺乏电源重置(即嵌入式设备)而需要此功能。 因此,在某些情况下,良好的操作需要此功能。 另一方面,普通用户(即台式机和笔记本电脑)不需要此功能,可以禁用它。
按照 archlinux wiki 上的方法,在启动参数中添加 nowatchdog 不能停用 watchdog
注意:一些用户报告 nowatchdog 参数没有按预期工作,但他们通过将上述模块列入黑名单,成功禁用了看门狗(至少是硬件)。
另一种方法是在内核启动参数中添加 modprobe.blacklist=iTCO_wdt 来禁用 watchdog 模块。
编辑 /etc/default/grub 在 GRUB_CMDLINE_LINUX_DEFAULT 后添加 modprobe.blacklist=iTCO_wdt 保存退出后执行 sudo update-grub 来应用配置。
编辑
/etc/default/grub并附加modprobe.blacklist=iTCO_wdt到GRUB_CMDLINE_LINUX_DEFAULT线
内核参数#GRUB
静音关机。 看门狗:看门狗0:看门狗没有停止!
开关机显示/dev/nvme0n1p5: clean, … files, …blocks
1.在论坛里有提及这个问题
1 | |
2.实际上根据
得到结论:系统在检查硬盘有没有问题,显示/dev/nvme0n1p5: clean就表示没有问题,所以没必要理会这条信息
调整swap分区使用率
在内核版本为5.8之前,swappiness范围在0-100,内核大于5.8,范围是0-200。
总的说来,swappiness值越小,越尽可能的使用内存而不是交换分区。
1 | |
To set the swappiness value permanently, create a sysctl.d(5) configuration file. For example:
永久的调整该设置,创建下面的配置文件
1 | |
failed to start pkgfile database update
查看pkgfile-update.service和pkgfile-update.timer,我猜测这个任务会每天相隔6小时执行,开机和关机时会因为错过任务而补偿执行,但是开机和关机时没有网络,所以执行失败。在系统设置面板的systemed里找到并修改pkgfile-update.timer,修改为开机后15分钟执行,相隔1天重复执行,就不会看到错误信息了。
这是修改后的pkgfile-update.timer文件。
1 | |
软件源里没有grub-customer
去官网下载
trim
检测 SSD 是否支持 TRIM
可以通过 /sys/block 下的信息来判断 SSD 支持 TRIM, discard_granularity 非 0 表示支持。
1 | |
也可以直接使用 lsblk 来检测,DISC-GRAN (discard granularity) 和 DISC-MAX (discard max bytes) 列非 0 表示该 SSD 支持 TRIM 功能。
1 | |
网上也有文章介绍通过 hdparm 来检测,不过我在 Intel P4500 SSD 测试没有返回该信息。
1 | |
注意:
虽然连续 TRIM是 SSD 的一个选项(尽管不推荐),但不应向NVMe 设备发出Discards。
在使用ext4和LVM 的典型设置中,默认情况下禁用Discards,但其他文件系统可能需要明确禁用Discards。
英特尔作为一家设备制造商,建议不要在文件系统级别启用Discards,而是建议定期 TRIM方法,或者fstrim手动应用。[3]
- Intel Optane SSD 不同于 NAND, 使用了 write-in-place 技术, 没有垃圾回收,没有 trim。而 Intel P4500、P4600 系列的 NVMe SSD 都是 NAND 产品,主动 trim 可以优化性能并延长寿命,特别是写频繁场景:
For NAND SSD:
mount -t xfs -o noatime,nodiratime,discard,nobarrier /dev/nvme0n1 /data/nandssd
The noatime/nodiratime parameters reduces the updates to the access time structures on disk.
The “discard” parameter tells the SSD to use the NVMe “TRIM” transaction to inform the SSD on “free space”.
The “nobarrier” parameter informs the OS that the drive supports a power-protected write buffer…and the OS can relax ordered writes on filesystem updates.
There have been some very recent changes in the XFS filesystem code that are now ignoring this option.
That appears to change some of the performance results…I need to go back and measure what the impacts are.
For Optane SSD:
mount -t xfs -o noatime,nodiratime,nodiscard,nobarrier /dev/nvme${i}n1 /data/optssd${i}
We changed “discard” to “nodiscard”. That is because “discard” does not provide any performance benefit on Optane.
Because Intel supports a “zeros” discard policy…(reads to unallocated data items returns zeros rather than random data)…the Optane drives were doing an extra erase of the memory when it handled a NVME TRIM transaction. Not good.
Continuous TRIM(连续修剪)
Note: There is no need to enable continuous TRIM if you run fstrim periodically. If you want to use TRIM, use either periodic TRIM or continuous TRIM.
- 如果您
fstrim定期运行,则无需启用连续 TRIM 。如果要使用 TRIM,请使用周期性 TRIM 或连续 TRIM。
Instead of issuing TRIM commands once in a while (by default once a week if using fstrim.timer), it is also possible to issue TRIM commands each time files are deleted instead. The latter is known as the continuous TRIM.
- 除了偶尔发出 TRIM 命令(如果使用
fstrim.timer,则默认为每周一次),也可以在每次删除文件时发出 TRIM 命令。后者被称为连续TRIM。
Warning: Before SATA 3.1 all TRIM commands were non-queued, so continuous trimming would produce frequent system freezes. In this case, applying #Periodic TRIM less often is better alternative. Similar issue holds also for a number of devices, see ata_device_blacklist in Linux source code, for which queued TRIM command execution was blacklisted due to serious data corruption. In such case, depending on the device, the system may be forced to send non-queued TRIM commands the SSD instead of queued TRIM. See Wikipedia:Trim_(computing)#Disadvantages for details.
- 在SATA 3.1之前,所有 TRIM 命令都是非排队的,因此连续修剪会产生频繁的系统冻结。在这种情况下,较少应用#Periodic TRIM是更好的选择。类似的问题也适用于大量的设备,见
ata_device_blacklist在Linux的源代码,为此排队TRIM指令的执行被列入黑名单,由于严重的数据损坏。在这种情况下,根据设备,系统可能会被迫向 SSD 发送非排队的 TRIM 命令,而不是排队的 TRIM。有关详细信息,请参阅Wikipedia:Trim_(computing)#Disadvantages。
Note: Continuous TRIM is not the most preferred way to issue TRIM commands among the Linux community. For example, Ubuntu enables periodic TRIM by default [7], Debian does not recommend using continuous TRIM and Red Hat recommends using periodic TRIM over using continuous TRIM if feasible [8].
- 在 Linux 社区中,连续 TRIM 并不是发布 TRIM 命令的首选方式。例如,Ubuntu 默认启用周期性 TRIM [7],Debian 不建议使用连续 TRIM,Red Hat 建议在可行的情况下使用周期性 TRIM 而不是使用连续 TRIM [8]。
Using the discard option for a mount in /etc/fstab enables continuous TRIM in device operations:
- 在 /etc/fstab 中使用挂载的
discord选项可在设备操作中启用连续 TRIM:
1 | |
Note: Specifying the discard mount option in /etc/fstab does not work with an XFS / partition. According to this thread, it has to be set using the rootflags=discard kernel parameter.
- 在 /etc/fstab 中指定丢弃挂载选项不适用于 XFS / 分区。 根据这个线程,它必须使用 rootflags=discard 内核参数进行设置。
On the ext4 filesystem, the discard flag can also be set as a default mount option using tune2fs:
- 在 ext4 文件系统上,
discard也可以使用tune2fs将该标志设置为默认挂载选项:
1 | |
Using the default mount options instead of an entry in /etc/fstab is particularly useful for external drives, because such partition will be mounted with the default options also on other machines. This way, there is no need to edit /etc/fstab on every machine.
- 使用默认挂载选项而不是
/etc/fstab中的条目对于外部驱动器特别有用,因为这样的分区也将使用默认选项挂载到其他机器上。 这样,无需在每台机器上编辑/etc/fstab。
Note: The default mount options are not listed in /proc/mounts.
Periodic TRIM(定期修剪)
The util-linux package provides fstrim.service and fstrim.timer systemd unit files. Enabling the timer will activate the service weekly. The service executes fstrim(8) on all mounted filesystems on devices that support the discard operation.
- 所述UTIL Linux的包提供
fstrim.service和fstrim.timersystemd单元文件。启用计时器将每周激活服务。该服务在支持丢弃操作的设备上的所有已安装文件系统上执行fstrim(8)。
The timer relies on the timestamp of /var/lib/systemd/timers/stamp-fstrim.timer (which it will create upon first invocation) to know whether a week has elapsed since it last ran. Therefore there is no need to worry about too frequent invocations, in an anacron-like fashion.
- 计时器依赖于
/var/lib/systemd/timers/stamp-fstrim.timer(它将在第一次调用时创建)的时间戳来了解自上次运行以来是否已经过去了一周。因此,无需担心以类似 anacron的方式调用过于频繁。
To query the units activity and status, see journalctl. To change the periodicity of the timer or the command run, edit the provided unit files.
- 要查询单位活动和状态,请参阅journalctl。要更改计时器或命令运行的周期,请编辑提供的单元文件。
fstrim
util-linux 中自带了 fstrim 工具(Discard unused blocks on a mounted filesystem.),平常用 -a 选项(-a, –all trim all mounted filesystems that are supported)比较多,可以自动检测硬盘是否支持 trim 功能,并在已挂载文件系统上执行 trim。
使用:
1 | |
更多用法查看manpage
启用 TRIM(fstrim)
要在 有systemd的系统中启用 TRIM,请在终端中输入以下命令:
1 | |
释放内存
Kernels 2.6.16 and newer provide a mechanism to have the kernel drop the page cache and/or inode and dentry caches on command, which can help free up a lot of memory. Now you can throw away that script that allocated a ton of memory just to get rid of the cache…
To use /proc/sys/vm/drop_caches, just echo a number to it.
To free pagecache:
1 | |
To free dentries and inodes:
1 | |
To free pagecache, dentries and inodes:
1 | |
This is a non-destructive operation and will only free things that are completely unused. Dirty objects will continue to be in use until written out to disk and are not freeable. If you run “sync” first to flush them out to disk, these drop operations will tend to free more memory.
日志管理
1 | |
清空 /var/log/journal 文件的方法
1、用echo命令,将空字符串内容重定向到指定文件中
echo “” > system.journal
说明:此方法只会清空一次,一段时间后还要再次手动清空很麻烦,这里可以用以下命令让journalctl 自动维护空间
2、journalctl 命令自动维护文件大小
1)只保留近一周的日志
journalctl –vacuum-time=1w
2)只保留500MB的日志
journalctl –vacuum-size=500M
3)直接删除 /var/log/journal/ 目录下的日志文件
rm -rf /var/log/journal/f9d400c5e1e8c3a8209e990d887d4ac1
问题与分析解决
执行 journalctl 命令时报错:Error was encountered while opening journal files: Input/output error
1 | |
问题分析:日志文件损坏
解决方法:删除之前的日志,并重启 journalctl 服务
mv journal/f9d400c5e1e8c3a8209e990d887d4ac1 journal/f9d400c5e1e8c3a8209e990d887d4ac1_bk_20190122
systemctl restart systemd-journald.service
查看 /var/log/journal/ 日志目录如下:
1 | |
然后,再执行 journalctl 限制日志的命令:
1 | |
pgp密钥管理
删除密钥
删除密钥有三个选项:–delete-keys、–delete-secret-keys和–delete-secret-and-public-key。
–delete-keys表示从公钥钥匙圈上删除密钥,也就是一同删除公钥和对应的私钥。在分批模式(batch mode)下,密钥必须使用指纹表示,或者使用–yes选项。
–delete-secret-keys表示从私钥钥匙圈上删除密钥。
–delete-secret-and-public-key和–delete-keys一样,但是如果私钥存在的话,会先移除私钥。在分批模式下,密钥必须使用指纹表示。
1 | |
plasmashell
可以直接在krunner中运行按 alt+F2 打开 krunner。
1 | |
重启plasmashell脚本
脚本文件内容
具体内容:
1 | |
- 命名:restart_kde,注意,没有后缀名
脚本放进环境变量(以上面kde_restart为例)
赋权
使用文本工具或者vim进行编写,编写完成后对其进行运行权限的赋权:
1 | |
复制至bin文件夹
将脚本文件移至path中指定的系统变量路径,可放至/usr/local/sbin、/usr/local/bin,/usr/bin中。
移动命令:
1 | |
除了系统目录,也可以自己创建存放脚本的目录
复制至自定义目录
1.在任意位置创建任意目录:比如~/存档/Linux/bin
2.然后修改环境变量export PATH=$PATH:路径
bash
1
2
3
4#m打开.bashrc文件
nano ~/.bashrc
添加下面一行
export PATH=$PATH:~/存档/Linux/binzsh
1
2
3
4#打开.zshrc文件
nano ~/.zshrc
添加下面一行
export PATH=$PATH:~/存档/Linux/bin
使用方法
- 用
KRunner,Alt+Space唤醒,确保KRunner拥有执行命令的功能 - 输入
restart_kde即可
安装多个JDK时
我这里先安装的 jdk8-openjdk,后安装 jdk16
sudo pacman -S jdk-openjdk 默认就是16版本
安装 jdk16时提示:
1 | |
切换 JDK 版本
使用archlinux-java命令切换JDK 版本
archlinux-java help
1 | |
set <JAVA_ENV> 就是设置默认环境的方法
- set 之前
1 | |
- set之后
1 | |
ranger
配置
配置文件
首先复制配置文件到主目录:
1
ranger --copy-config=all
然后自己到~/.config/ranger中配置各种选项即可
配置ranger
在~/.config/ranger中有ranger的配置文件.
找到文件scope.sh中, 在externsions部分注释掉不想预览的文件类型, 在那行上面添加”#”注释掉即可. ranger在预览rar等压缩包时会运行得比较慢.rc.conf保存着快捷键的说明自动挂载U盘等外部存储位置,需要安装usbmount:
1 | |
在MOUNTOPTIONS那行添加user即可使普通用户也对挂载的U盘拥有写权限, 如下:MOUNTOPTIOS="rw,user,noatime,nodiratime"
快捷键
下面列出常用操作的快捷键
? 查看帮助
浏览:
1 | |
编辑:
1 | |
书签:
1 | |
标签:
1 | |
排序:
1 | |
其他:
1 | |
链接(Link):
1 | |
批量改名:
批量选择文件后, 键入命令:bulkname, 会打开编辑器, 其中的文件名编辑后保存退出, 再次打开操作确认编辑, 然后就批量改名了, 如果想取消批量改名, 在确认时把文件内容删除即可.
任务管理:
在执行某些操作(比如复制一个大文件)时不能立即完成, 这在 ranger 中就是一个任务. 你可以停止, 启动某个任务, 也可以对某个任务设置优先级.
w: 打开/关闭任务视图. 在w打开的任务视图中:
dd: 终止一个任务
J: 降低当前任务的优先级
K: 提升当前任务的优先级
其他:
zf 过滤器(如过滤pdf文件, zf+pdf,回车) S 在当前目录打开终端 z(*) 改变设置, 表示在弹出选项中的选择 o() 改变排序方式 ! / s 使用shell命令(!shell -w ls -hl %s,%s代表当前被选中的文件)
使用ranger命令(3? 查看可用命令) :set colorscheme snow 设置颜色模式
快速预览
安装以下程序可以实现快速预览:
1 | |
字体调整
提示: 中文用户在安装思源cjk全集或者noto-cjk全集后,部分文字显示为日文异形字体,可参看Arch Linux Localization (简体中文)#修正简体中文显示为异体(日文)字形 进行解决。
字体安装和配置
noto-fonts-cjk-Google Noto CJK 字体, 提供简体中文、繁体中文、日文、韩文一致的设计和外观。它是基于是adobe-source-han-sans-otc-fonts重贴的商标。所以选择一个安装。
安装的字体
1 | |
思源字体(不安装cjk版本,仅安装cn版本,避免火狐异体字问题):
adobe-source-han-serif-cn-fontsadobe-source-han-sans-cn-fonts
文泉驿正黑
- wqy-zenhei - 文泉驿正黑体,黑体 (无衬线) 的中文轮廓字体,附带文泉驿点阵宋体 (也支持部分日韩字符)。
- wqy-bitmapfont - 文泉驿点阵宋体 (衬线) 中文字体。
文泉驿微米黑
- wqy-microhei - 文泉驿微米黑,无衬线形式字体。
- wqy-microhei-lite - 文泉驿微米黑light版(笔画更细)。
windows字体
把windows的字体复制到~/.local/share/fonts/WindowsFonts目录下
配置font
- 修改
~/.config/fontconfig/fonts.conf配置文件
1 | |
修正简体中文显示为异体(日文)字形
上面安装了windows字体,要禁用或删除windows字体中的
Candara字体,因为它会显示异体字。
安装的 Noto Sans CJK 或 adobe-source-han-sans-otc-fonts(思源黑体)或 adobe-source-han-serif-otc-fonts(思源宋体)后,在某些情况下(框架未定义地区)汉字字形与标准形态不符,例如门、关、复等字字形与规范中文不符。
这是因为每个程序中可以设置不同的默认字体,比如 Arial 或者 Tohamo,而这些字体的属性由 fontconfig 控制,其使用顺序是据地区代码以 A-Z 字母表顺序成默认排序,由于 ja-JP 在 zh_{CN,HK,SG,TW} 之前,故优先显示日文字形。
提示: Chromium/Chrome/Firefox 浏览器的设置中可单独设置字体,例如将字体选项调成 Noto xxx CJK SC。
可选用以下方法解决(以简体中文为例):
只安装 cjk 中的简体中文字体,例如思源黑体简体中文包 adobe-source-han-sans-cn-fonts、adobe-source-han-serif-cn-fonts 或者 noto-fonts-scAUR。
在
locale.conf中添加LANG=zh_CN.UTF-8,以将简体中文设置为默认语言。由于对 Locale 定义了框架内地区(即 CJK 优先度),使得默认的优先级被忽略。手动调整优先级,将中文字形调整到日文字形之前。[3]在
/etc/fonts/conf.d/或/etc/fonts/conf.avail/下创建文件,例如64-language-selector-prefer.conf,也可以修改或创建~/.fonts.conf或在~/.config/fontconfig/conf.d/创建后缀为.conf的文件(仅对该用户生效)。例如针对noto-fonts-cjk的规则,写入:
1 | |
如果安装的是 adobe-source-han-sans-otc-fonts,写入:
1 | |
注意,如果你是在 /etc/fonts/conf.avail 目录下创建的 xml 文件,则将该 xml 文件软链接到 /etc/fonts/conf.d 下,例如:
1 | |
然后更新字体缓存即可生效:
1 | |
执行以下命令检查,如果出现 NotoSansCJK-Regular.ttc: "Noto Sans CJK SC" "Regular" 则表示设置成功:
1 | |
kde 美化
安装kde的一些小工具
- kdialog 某些shell脚本会用他显示一些提示信息
- kmousetool 自动点击,解放你的鼠标
- kipi-plugins 是gwenview的插件集合
安装主题管理
1 | |
主题位置
1 | |
重启plasmashell
直接杀死并重启
1 | |
退出并重启
1 | |
主题推荐
图标
papirus-icon
Tela-icon
adwaita-plus
adwaita
鼠标指针:
整体样式
应用商店搜索:materia-kde
gtk样式:orchis
应用程序样式
- 更现代化的样式 lightly-qt
- gnome的样式 adwaita-qt
dock栏
- latte dock
- cairo-dock
顶栏
applet-window-appmenu
提供了顶栏的全局菜单,比自带的好用
应用商店搜索
plasma5-applets-window-appmenu-git1
2
3
4
5
6
7
8
9
10github: https://github.com/psifidotos/applet-window-appmenu
调用 sh install.sh安装,安装之前应该查看INSTALLATION.md安装编译环境,但是可以在
应用商店查找plasma5-applets-window-appmenu-git,安装别人做好的。
构建依赖:
[2021-08-14T22:20:17+0800] [ALPM] installed plasma5-applets-window-appmenu-git (0.7.1.r0.gcdbc943-1)
[2021-08-14T22:19:48+0800] [ALPM] installed extra-cmake-modules (5.84.0-1)
[2021-08-14T22:19:48+0800] [ALPM] installed cmake (3.21.1-1)
[2021-08-14T22:19:47+0800] [ALPM] installed libuv (1.42.0-1)
[2021-08-14T22:19:47+0800] [ALPM] installed jsoncpp (1.9.4-1)
[2021-08-14T22:19:47+0800] [ALPM] installed rhash (1.4.2-1)applet-window-buttons
提供窗口管理按钮
1
2
3github:https://github.com/psifidotos/applet-window-buttons
上面的菜单使用应用商店安装好后,编译环境还没被卸载,可以直接clone这个applet-window-buttons库下来,调用sh install.sh安装这个button插件-
应用商店自行安装
或手动安装:
克隆仓库
1
git clone https://github.com/psifidotos/applet-window-title.git由于此插件使用
QML编写,所以可以直接使用命令装入插件1
2cd applet-window-title
plasmapkg2 -i .
插件
kwin脚本
另一种“神灯”效果
1 | |
applet
日历插件
plasma5-applets-eventcalendar,可直接在应用商店搜索
dolphin插件
位置:`~/.local/share/kservices5/ServiceMenus/`
ufw防火墙
安装
安装
gufw启动
ufw服务,但不要启动iptables服务和ip6tables服务。ufw依赖它,但启动iptables服务和ip6tables服务,会造成冲突。archwiki1
2
3
4
5
6
7
8如果iptables和ip6tables服务是启动的,要禁用并停止他们
systemctl disable iptables #禁用iptables服务
systemctl disable ip6tables #禁用ip6tables服务
systemctl stop iptables #停止
systemctl stop ip6tables #他
systemctl start ufw #启动ufw服务
sudo ufw enable #启动ufw
额外应用
ufw-extras添加一些额外的
ufw预配置应用程序:预配置文件在
/etc/ufw/applications.d文件夹
1 | |
plasma-firewallkde设置里查看和管理防火墙
1 | |
问题
1 ERROR: problem running ip6tables错误
安装
iptables-nft替代默认的iptables。链接1当然这个问题可以修改配置文件,禁用ipv6解决。 链接2
1
2sudo nano /etc/default/ufw
把 IPV6=yes 改为 IPV6=no但我觉得可能是启用了ip6tables服务的问题。
因为我遇到这个问题的时候,我还不知道有ip6tables服务,看上面两个博客确实能解决问题。之后看archwiki时提示要禁用iptables服务和ip6tables服务,这时候我才发现我之前只禁用了iptables服务但ip6tables服务一直是启用的。
2
UFW(iptables)规则的匹配基于规则出现的顺序,
一旦匹配某个规则,检查便会停止。因此,如果某个规则允许访问TCP端口22(如使用udo ufw allow 22),
后面另一个规则指示拦截某个IP地址(如使用 ufw deny proto tcp from 202.54.1.1 to any port 22)。
最终,允许访问TCP端口22的规则会被使用,而后一个拦截黑客IP地址 202.54.1.1 却没有被使用。
这都是由于规则的顺序造成的。为避免这类问题,
你需要编辑 /etc/ufw/before.rules文件,
在“# End required lines”之后”Block an IP Address”添加规则。
1 | |
在单独的用户帐户下运行 Wine
新建一个用户:
guest将新建的用户
guest添加到xorg的权限列表:1
2
3xhost +SI:localuser:guest 添加
xhost -SI:localuser:guest 移除
xhost 打印列表最后,你可以通过以下命令来运行Wine,该命令使用
env来启动Wine,并加入它所期望的环境变量。1
sudo -u guest env HOME=/home/guest USER=guest USERNAME=guest LOGNAME=guest wine arguments可以使用如下的shell脚本,使用Wine运行Windows应用程序的过程自动化:
1
2
3
4
5
6
7/usr/local/bin/runaswine 存放位置,文件名
shell脚本内容:
#!/bin/zsh
xhost +SI:localuser:guest
sudo -u guest env HOME=/home/guest USER=guest USERNAME=guest LOGNAME=guest wine "$@"Wine程式可以被通过以下指令启动:
1
runaswine "C:\path\to\application.exe"为了在每次以其他用户身份运行Wine时不被要求输入密码,可以在sudoers文件中加入以下条目。
*mainuser* ALL=(guest) NOPASSWD: ALL。更多信息见Sudo#Configuration。建议以Wine用户身份运行
winecfg,并在配置窗口的 “桌面集成 “部分删除Wine用户主目录以外的所有目录绑定,这样,使用Wine运行的程序就无法读取特殊用户主目录以外的任何文件。请记住,如果使用了PulseAudio,那么在以这种方式运行的Wine程序中,音频可能将无法发挥作用。请参阅 PulseAudio/Examples#Allowing multiple users to share a PulseAudio daemon 以了解关于允许Wine用户访问主用户的PulseAudio daemon的信息。
tty
Ctrl+alt+F1~F6登录其他用户- 在终端中使用
W查看登录的用户 - 使用
pkill -kill -t tty2(此处tty2是从上面的命令w查询得到的用户登录tty)命令强制某用户登出
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!