Ubuntu配置

Ubuntu配置


常用软件

  • apt-fast 多线程下载
    1
    2
    3
    sudo add-apt-repository ppa:apt-fast/stable
    sudo apt install apt-fast
    sudo apt-fast update
  • ssh
  • net-tools
  • tmux
  • git
  • vim
  • htop
  • gcc
  • make
  • neofetch
  • zsh
    1
    chsh -s $(which zsh)
  • clash-verge-rev
    1
    2
    wget https://github.com/clash-verge-rev/clash-verge-rev/releases/download/v2.3.1/Clash.Verge_2.3.1_amd64.deb
    sudo apt install ./Clash.Verge_2.3.1_amd64.deb
  • lazygit
    1
    2
    3
    4
    5
    6
    7
    # ubuntu25
    sudo apt install lazygit
    # ubuntu24及以下版本
    LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
    curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
    tar xf lazygit.tar.gz lazygit
    sudo install lazygit -D -t /usr/local/bin/
  • yazi
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    apt install ffmpeg 7zip jq poppler-utils fd-find ripgrep fzf zoxide imagemagick
    # 方法一: 下载官方编译过的包
    wget https://github.com/sxyazi/yazi/releases/download/nightly/yazi-x86_64-unknown-linux-gnu.deb
    sudo apt install ./yazi-x86_64-unknown-linux-gnu.deb
    # 方法二: 手动编译
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    rustup update
    git clone https://github.com/sxyazi/yazi.git
    cd yazi
    cargo build --release --locked
    sudo mv target/release/yazi target/release/ya /usr/local/bin/
  • nvim
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # use ppa
    sudo apt-add-repository ppa:neovim-ppa/unstable
    sudo apt update
    sudo apt install neovim
    # use source code
    sudo apt install ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip git curl doxygen -y
    git clone https://github.com/neovim/neovim.git && cd neovim
    make CMAKE_BUILD_TYPE=Release
    sudo make install
    nvim --version
    # 安装nodejs
    sudo apt install curl
    curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh
    sudo -E bash nodesource_setup.sh
    sudo apt install nodejs
    node -v
    build avante.nvim

卸载软件

  • 卸载单个包
    1
    sudo apt remove example-package
  • 卸载包及其配置文件
    1
    sudo apt purge example-package
  • 卸载并自动处理依赖
    1
    sudo apt autoremove

dwm

必备软件

  • feh
  • compton (或者xcompmgr)
  • xorg-dev (可能需要 suckless-tools libx11-dev libxft-dev libxinerama-dev)
  • ubuntu-restricted-extras (基本包含所有基本的媒体编码器)
  • tlp tlp-rdw (电池管理工具)
  • acpi acpitool (电源监控工具)
  • timeshift (系统备份工具)
  • light (背光灯调整工具)
    1
    2
    3
    4
    # 为背光灯调整工具设置sudo免密码
    sudo visudo
    # 在文本最后加入如下代码
    {登录系统的用户名} ALL=NOPASSWD:/usr/bin/light
  • preload (默认记录使用率最高的软件,添加如内存,打开该应用会提速)
  • vim-gtk (将vim中的文本内容复制到系统剪切板,~/.vimrc set clipboard=unnamedplus)
  • flameshot (截屏软件)
  • rofi
  • fcitx5
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sudo apt install fcitx5 \
    fcitx5-chinese-addons \
    fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 fcitx5-frontend-gtk2 \
    fcitx5-frontend-qt5

    # 添加到 /etc/environment
    GTK_IM_MODULE=fcitx
    QT_IM_MODULE=fcitx
    XMODIFIERS=@im=fcitx
    SDL_IM_MODULE=fcitx
    GLFW_IM_MODULE=ibus
  • vmware-tools
    1
    open-vm-tools open-vm-desktop
  • 更改登陆界面
    1
    2
    3
    4
    git clone https://github.com/thiggy01/change-gdm-background
    ##修改登陆界面颜色
    sudo ./change-gdm-background \#130c0e
    sudo ./change-dgm-background ~/xx/xx.jpg

DWM启动方式

  • 用gdm3做为display manager
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 配置完成之后可以在登录界面选择dwm作为桌面启动
    cd /usr/share/xsessions/
    touch dwm.desktop
    # 添加以下内容
    [Desktop Entry]
    Encoding=UTF-8
    Name=Dwm
    Comment=Dynamic window manager
    Exec=dwm
    Icon=dwm
    Type=XSession
  • 使用startx命令从文字界面启动(推荐)
    1
    2
    3
    4
    5
    6
    7
    8
    # 修改grub配置,打开文件/etc/default/grub,将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"的改为GRUB_CMDLINE_LINUX_DEFAULT="text"然后执行命令
    sudo update-grub
    # 将启动等级改为多用户等级,执行如下命令:
    sudo systemctl set-default multi-user.target
    # (目前使用 xinit 启动会导致在浏览器中 fcitx5 输入法使用不了)
    # 如果想改回启动图形界面执行下面
    sudo systemctl set-default graphical.target
    # gdm 会读取 ~/.xprofile 而不会读取 ~/.xinitrc,所以要添加 ~/.xprofile,内容和 ~/.xinirc 一样

dwm配置

  • 安装字体
    1
    2
    3
    4
    5
    6
    # 当前用户安装
    cp *.ttf ~/.local/share/fonts/
    # 系统范围安装
    sudo cp /path/to/fonts/font.ttf /usr/share/fonts
    sudo fc-cache -f -v
    fc-list
  • 为软件指定打开标签
    1
    2
    3
    xprop | grep WM_CLASS
    # 鼠标会变为十字架,用十字架点击想要被指定的软件的打开窗口, terminal 就会显示该软件的 instance 和 class
    # 将信息填入 config.h 的rule中
  • use slock
    1
    sudo addgroup --system nobody
  • 触控板
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    # 实时配置
    xinput list
    # 找到触控板设备的名称或 ID。
    # 使用以下命令来启用轻点功能(假设你的触控板 ID 是 12,可以根据实际结果更改):
    xinput set-prop 12 "libinput Tapping Enabled" 1

    # 添加配置文件这种方法更方便
    sudo apt install xserver-xorg-input-synaptics
    sudo cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/
    Option "TapButton1" "1"
    Option "TapButton2" "3"
    Option "TapButton3" "2"
    Option "VertEdgeScroll" "on"
    Option "VertTwoFingerScroll" "on"
    Option "HorizEdgeScroll" "on"
    Option "HorizTwoFingerScroll" "on"
    Option "CircularScrolling" "on"
    Option "CircScrollTrigger" "2"
    Option "EmulateTwoFingerMinZ" "40"
    Option "EmulateTwoFingerMinW" "8"
    Option "FingerLow" "30"
    Option "FingerHigh" "50"
    Option "MaxTapTime" "125"
    Option "PalmDetect" "1"
    Option "PalmMinWidth" "8"
    Option "PalmMinZ" "200"
  • picom
    1
    2
    3
    4
    sudo apt-fast install libconfig-dev libdbus-1-dev libegl-dev libev-dev libgl-dev libepoxy-dev libpcre2-dev libpixman-1-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-damage0-dev libxcb-glx0-dev libxcb-image0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev libxcb-util-dev libxcb-xfixes0-dev meson ninja-build uthash-dev
    wget https://github.com/yshui/picom/releases(不行就去网页下载)
    meson setup --buildtype=release build
    ninja -C build install
  • yesplaymusic
    1
    sudo snap install yesplaymusic
  • caffeine(熄屏不进入休眠)
  • 向日葵
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 修复依赖 libgconf-2-4
    下载依赖
    wget http://ftp.debian.org/debian/pool/main/g/gconf/libgconf-2-4_3.2.6-7_amd64.deb
    wget http://ftp.debian.org/debian/pool/main/g/gconf/gconf2-common_3.2.6-7_all.deb

    安装依赖
    sudo dpkg -i gconf2-common_3.2.6-7_all.deb
    sudo dpkg -i libgconf-2-4_3.2.6-7_amd64.deb
    sudo apt --fix-broken install

    安装 SunloginClient
    sudo dpkg -i SunloginClient_15.2.0.63064_amd64.deb