跳转到内容
搜索 Fedora 文档

    浏览当前文档目录

    Fedora 45 的终端与 shell:默认是 Ptyxis + bash,tmux 已经装好

    Fedora 45 Workstation 的终端栈和很多人记忆里的不一样,先实测一遍再配置。

    Ptyxis 终端、bash 登录 shell 与预装的 tmux 分层

    Terminal window
    echo $SHELL
    bash --version | head -1
    rpm -q ptyxis gnome-terminal tmux zsh fish
    /bin/bash
    GNU bash, version 5.3.15(1)-release (x86_64-redhat-linux-gnu)
    ptyxis-50.1-6.fc45.x86_64
    package gnome-terminal is not installed
    tmux-3.7c-1.fc45.x86_64
    package zsh is not installed
    package fish is not installed

    三个结论:

    项F45 Workstation 实际
    终端模拟器Ptyxis 50.1
    GNOME Terminal未安装
    默认 shellbash 5.3.15
    tmux已预装,3.7c
    zsh / fish未安装
    Terminal window
    dnf list --available zsh fish kitty alacritty
    包版本
    zsh5.9.2
    fish4.6.0
    kitty0.48.2
    alacritty0.17.0

    装 zsh 并不会自动改默认 shell,要显式改:

    Terminal window
    sudo dnf install zsh
    chsh -s /usr/bin/zsh

    chsh 改的是登录 shell,重新登录才生效。

    Terminal window
    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 最实用的地方。

    ~/.tmux.conf:

    Terminal window
    set -g mouse on
    set -g base-index 1
    setw -g pane-base-index 1
    set -g history-limit 50000
    set -g escape-time 10

    重新加载:

    Terminal window
    tmux source-file ~/.tmux.conf
    • mouse on 让滚轮和鼠标拖选生效
    • base-index 1 让窗口/窗格从 1 开始编号,跟键位习惯一致
    • escape-time 10 减少 Esc 延迟(vim 用户体感明显)

    ~/.bashrc 尾部加:

    Terminal window
    # 历史记录
    HISTSIZE=100000
    HISTFILESIZE=200000
    HISTCONTROL=ignoreboth
    shopt -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