背景
家里之前配了一个台式机,ms04 那样,amd 平台,CentOS 8。
在配置学习开发环境的过程中遇到了几个问题,记录一下。
桌面安装
安装 CentOS 8 自带的 gnome 桌面sudo yum group install "Server with GUI"
修改桌面配置vim /etc/gdm/custom.conf
日志位置/var/lib/gdm/.local/share/xorg/Xorg.0.log
这里放一个整个桌面的架构图,对技术细节和历史感兴趣的同学可以看这本开源世界旅行手册。
桌面崩溃
由于个人也是第一次接触,所以只有三板斧,幸好解决了问题。
1。 彻底打不开
删除桌面后重新安装sudo yum group remove "Server with GUI"
2。 重新安装后分辨率无法调整xrandr
可以返回显示器支持的分辨率,如果报错,应该就是驱动出问题了。
这里就可以看出 amd 不够 yes 的点了,通用驱动页面没有 linux 的支持信息,最好在谷歌找准关键词搜。https://www.amd.com/zh-hans/support/kb/release-notes/rn-amdgpu-unified-linux-20-20 可以在这里下载到。
CentOS/Win10 共用磁盘格式化
为了提供一定的娱乐功能,我是装了双系统的。磁盘也计划用 NTFS 文件系统。
fdisk -l
列出所有硬盘mkfs.ntfs -f -L data2 -v /dev/sdb1
将 /dev/sdb1 分区快速格式化为 NTFS 格式,打上 data2 标签parted /dev/sdb mklabel gpt
将磁盘 /dev/sdb
以 GPT 格式建立分区表parted /dev/sdb mkpart primary ntfs 4096s 100%
将磁盘 /dev/sdb
从第 4096 个 sector 开始到 100% 的空间划做一个分区vim /etc/fstab
编辑自动 mount 设置
重要:
- 直接使用 mkfs.ntfs 对整个设备操作导致 Win10 不认盘,并且最大只有 1.7TB。
- 直接使用 parted 建立分区表后不进行格式化会导致开机直接进入 rescue 模式。
- 正确的方式是先
parted mklabel
建立分区表,然后parted mkpart
进行分区,最后mkfs.ntfs
进行格式化。这样就得到了一个可以 mount 的文件设备。
快捷键修改
不得不说 MacOS 的快捷键真的很舒服,常用的快捷键在各个软件里都是有实现并且基本统一的,而 gnome 里就各行其是,我常用的 terminal 和 chrome 就不一致。
理论基础 B 站 https://www.bilibili.com/read/cv5124452/ 这里讲的不错。
我这边不考虑 TTY,仅考虑 X11。
X11 层面
这个层面修改 keycode –> keysymbol,也就是说我把 Win 和 Alt 键互换的话,在桌面的所有应用里这两个键都算是换掉了。
安装 gnome-tweaks 可以很轻松完成这步修改。
重要: gnome-tweaks 必须在当前 X11 登陆用户下启动,否则会找不到 DBus。以下两个指令应该能够正常返回,否则说明启动用户不对。gdbus introspect --session --dest org.gnome.SessionManager --object-path /org/gnome/SessionManager
gdbus introspect --session --dest org.gnome.Shell --object-path /org/gnome/Shell
组合键解释层面
我们得到了一组按键组合,这个组合具体含义是由各个应用进行解释的,很可惜这里改不了,我能做的只有以下两点。
1 在系统配置里将常用的快捷键删掉,避免和个人习惯冲突。
2 安装 autokey,写脚本配置每一个按键组合在每个应用映射到不同的组合里
以上操作可以达成不同应用使用同一个快捷键进行同一个操作,我最需要的就是在 terminal 和 chrome 里使用 MacOS 的复制和粘贴快捷键,这样就可以实现了。
重要: autokey 尽量使用系统包管理工具安装,如果官方包管理工具不支持,也要尽量使用系统的 python。部分 sitepackage 只有系统 python 解释器能够直接找到。