more about kmscon
This commit is contained in:
@@ -120,7 +120,7 @@ cpu_load_color=39F900,FDFD09,FF0000
|
|||||||
|
|
||||||
### Display per process memory usage
|
### Display per process memory usage
|
||||||
## Show resident memory and other types, if enabled
|
## Show resident memory and other types, if enabled
|
||||||
procmem
|
# procmem
|
||||||
# procmem_shared
|
# procmem_shared
|
||||||
# procmem_virt
|
# procmem_virt
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,6 @@ if not set -q fetch_logo_type
|
|||||||
set -g fetch_logo_type auto
|
set -g fetch_logo_type auto
|
||||||
end
|
end
|
||||||
|
|
||||||
if ps -e -o pid,comm | grep -q (pgrep kmscon)
|
|
||||||
set -g fetch_logo_type logo
|
|
||||||
end
|
|
||||||
|
|
||||||
if not set -q fetch_color
|
if not set -q fetch_color
|
||||||
set -g fetch_color "#89b4fa"
|
set -g fetch_color "#89b4fa"
|
||||||
end
|
end
|
||||||
|
|||||||
Submodule config/wallpaper/Pictures/backgrounds updated: 7cbff002d7...719962a4ae
@@ -19,7 +19,6 @@ sudo systemctl enable getty@tty1.service
|
|||||||
理由:
|
理由:
|
||||||
|
|
||||||
- kmscon 中通过命令行启动图形 session 会遇到问题。
|
- kmscon 中通过命令行启动图形 session 会遇到问题。
|
||||||
|
|
||||||
- 通常 tty1 用于运行图形界面,不需要 kmscon 提供的各种特性。
|
- 通常 tty1 用于运行图形界面,不需要 kmscon 提供的各种特性。
|
||||||
|
|
||||||
## 修改默认配置
|
## 修改默认配置
|
||||||
@@ -39,7 +38,6 @@ ExecStart=/usr/bin/kmscon --vt=%I --seats=seat0 --no-switchvt
|
|||||||
解释:
|
解释:
|
||||||
|
|
||||||
- 默认的 `ExecStart` 携带的参数会覆盖所有配置文件中的对应项,需要先清空。
|
- 默认的 `ExecStart` 携带的参数会覆盖所有配置文件中的对应项,需要先清空。
|
||||||
|
|
||||||
- 保留默认参数 `--login` 前的部分,因为我看不出不这么做的理由。
|
- 保留默认参数 `--login` 前的部分,因为我看不出不这么做的理由。
|
||||||
|
|
||||||
然后就可以在 `/etc/kmscon/kmscon.conf` 添加自定义的配置了。
|
然后就可以在 `/etc/kmscon/kmscon.conf` 添加自定义的配置了。
|
||||||
@@ -57,25 +55,53 @@ font-size=14
|
|||||||
- `login=/bin/login -p -f kolkas` 指定自动登录用户。
|
- `login=/bin/login -p -f kolkas` 指定自动登录用户。
|
||||||
- `font-name` 和 `font-size` 用于设置字体和大小。
|
- `font-name` 和 `font-size` 用于设置字体和大小。
|
||||||
|
|
||||||
## 关于字体的补充说明
|
### 关于自动登录的补充说明
|
||||||
|
|
||||||
1. kmscon 上 2 字符宽的 nerd font 图标会被裁剪至 1 字符宽。因此我使用带有 Mono 后缀的 Meslo 系字体作为首选字体,它的图标字符只有 1 字符宽。
|
如果想让 kmscon 在自动登录的同时启动非登陆 shell (例如 fish),可以将配置改为:
|
||||||
|
|
||||||
2. [Archwiki - KMSCON](https://wiki.archlinux.org/title/KMSCON) 上提供了另一种更改字体的方法,即修改 fontconfig 配置,具体做法为在 monospace 字体族中前置添加字体。但这会影响所有使用 fontconfig 和 monospace 字体族的程序,包括图形界面中的终端模拟器。
|
```conf
|
||||||
|
login=/usr/bin/su - kolkas -s /usr/local/bin/fish-login-wrapper
|
||||||
|
```
|
||||||
|
|
||||||
|
其中 `fish-login-wrapper` 内容为:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -f /etc/profile ]; then
|
||||||
|
source /etc/profile
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f ~/.bash_profile ]; then
|
||||||
|
source ~/.bash_profile
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 设置环境变量以供后续脚本检测
|
||||||
|
export IS_KMSCON=1
|
||||||
|
|
||||||
|
# 设定 fastfetch 的 logo 类型为 logo (config/shell/.config/fish/post.d/fetch.fish 会读取该变量)
|
||||||
|
export fetch_logo_type=logo
|
||||||
|
|
||||||
|
exec /usr/bin/fish
|
||||||
|
```
|
||||||
|
|
||||||
|
如果不需要读取 profile 文件而直接将 fish 作为登陆 shell,可以将配置改为:
|
||||||
|
|
||||||
|
```conf
|
||||||
|
login=/usr/bin/su - kolkas -s /usr/bin/fish --login
|
||||||
|
```
|
||||||
|
|
||||||
|
### 关于字体的补充说明
|
||||||
|
|
||||||
|
- kmscon 上 2 字符宽的 nerd font 图标会被裁剪至 1 字符宽。可以使用带有 Mono 后缀的 Meslo 系字体作为首选字体,它的图标字符只有 1 字符宽。
|
||||||
|
|
||||||
|
- [Archwiki - KMSCON](https://wiki.archlinux.org/title/KMSCON) 上提供了另一种更改字体的方法,即修改 fontconfig 配置,具体做法为在 monospace 字体族中前置添加字体。但这会影响所有使用 fontconfig 和 monospace 字体族的程序,个人认为并非首选。
|
||||||
|
|
||||||
## 检测当前终端是否为 kmscon
|
## 检测当前终端是否为 kmscon
|
||||||
|
|
||||||
> 以下代码片段适用于 fish shell
|
> 以下代码片段适用于 fish shell
|
||||||
|
|
||||||
检测父进程和祖父进程是否为 kmscon:
|
检测所有祖先进程中是否有 kmscon:
|
||||||
|
|
||||||
```sh
|
|
||||||
if ps -e -o pid,comm | grep -q (pgrep kmscon)
|
|
||||||
# 在 kmscon 中
|
|
||||||
end
|
|
||||||
```
|
|
||||||
|
|
||||||
或者更精细地检测所有祖先进程 (fish):
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
function is_kmscon
|
function is_kmscon
|
||||||
@@ -97,3 +123,11 @@ if is_kmscon
|
|||||||
# 在 kmscon 中
|
# 在 kmscon 中
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
或如果配置了 [环境变量](#关于自动登录的补充说明):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
if test -n "$IS_KMSCON"
|
||||||
|
# 在 kmscon 中
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user