Fedora 45 的终端与 shell:默认是 Ptyxis + bash,tmux 已经装好
Fedora 45 Workstation 的终端栈和很多人记忆里的不一样,先实测一遍再配置。
默认装了什么
Section titled “默认装了什么”echo $SHELLbash --version | head -1rpm -q ptyxis gnome-terminal tmux zsh fish/bin/bashGNU bash, version 5.3.15(1)-release (x86_64-redhat-linux-gnu)ptyxis-50.1-6.fc45.x86_64package gnome-terminal is not installedtmux-3.7c-1.fc45.x86_64package zsh is not installedpackage fish is not installed三个结论:
| 项 | F45 Workstation 实际 |
|---|---|
| 终端模拟器 | Ptyxis 50.1 |
| GNOME Terminal | 未安装 |
| 默认 shell | bash 5.3.15 |
| tmux | 已预装,3.7c |
| zsh / fish | 未安装 |
仓库里的其他选择
Section titled “仓库里的其他选择”dnf list --available zsh fish kitty alacritty| 包 | 版本 |
|---|---|
zsh | 5.9.2 |
fish | 4.6.0 |
kitty | 0.48.2 |
alacritty | 0.17.0 |
装 zsh 并不会自动改默认 shell,要显式改:
sudo dnf install zshchsh -s /usr/bin/zshchsh 改的是登录 shell,重新登录才生效。
tmux:已经装好,直接用
Section titled “tmux:已经装好,直接用”tmux new -s work # 新建名为 work 的会话tmux ls # 列出会话tmux attach -t work # 重新接上tmux kill-session -t work最常用的两个快捷键(默认前缀是 Ctrl + b):
| 操作 | 键 |
|---|---|
| 水平分屏 | Ctrl+b 然后 % |
| 垂直分屏 | Ctrl+b 然后 " |
| 切换窗格 | Ctrl+b 然后方向键 |
| 脱离会话 | Ctrl+b 然后 d |
d 脱离后会话继续在后台跑,SSH 断了也不会丢——这是 tmux 最实用的地方。
一份够用的配置
Section titled “一份够用的配置”~/.tmux.conf:
set -g mouse onset -g base-index 1setw -g pane-base-index 1set -g history-limit 50000set -g escape-time 10重新加载:
tmux source-file ~/.tmux.confmouse on让滚轮和鼠标拖选生效base-index 1让窗口/窗格从 1 开始编号,跟键位习惯一致escape-time 10减少 Esc 延迟(vim 用户体感明显)
bash 的几个实用配置
Section titled “bash 的几个实用配置”~/.bashrc 尾部加:
# 历史记录HISTSIZE=100000HISTFILESIZE=200000HISTCONTROL=ignorebothshopt -s histappend
# 补全忽略大小写bind "set completion-ignore-case on"
# 常用别名alias ll='ls -alF'alias gs='git status -sb'shopt -s histappend 很关键:多个终端同时开时,不加它历史记录会互相覆盖。
| 现象 | 原因 |
|---|---|
chsh 后 shell 没变 | 没重新登录 |
| tmux 里 Ctrl+b 没反应 | 前缀键被上层程序占用,改 ~/.tmux.conf 的 prefix |
| 中文显示成方块 | 终端字体没有中文字形,换字体或在 ~/.config/fontconfig 里加回退 |
| 关掉终端后进程被杀 | 没在 tmux 里跑,或 systemd 用户会话被清理 |
gnome-terminal 命令找不到 | F45 默认装的是 Ptyxis,需要自己 dnf install gnome-terminal |