• Ubuntu22.04 安装配置流水账


    前两天为了测一个CH340的bug, 装了三遍20.04. bug解决完, 心想反正也要重新装各种软件, 不如直接装22.04吧. 把涉及的安装记录一下方便将来参考.

    制作启动U盘

    在Ubuntu网站 https://ubuntu.com/download/desktop 下载Ubuntu 22.04 LTS Desktop ISO, 下载完用sha256sum校验一下.

    参考 https://www.cyberciti.biz/faq/creating-a-bootable-ubuntu-usb-stick-on-a-debian-linux/

    在dd之前取消U盘挂载

    milton@milton:~$ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    ...
    sdb      8:16   0 894.3G  0 disk 
    ├─sdb2   8:18   0   977M  0 part /boot
    └─sdb3   8:19   0 891.4G  0 part /
    sdc      8:32   1  14.7G  0 disk                     <-- 这个是U盘
    └─sdc1   8:33   1  14.7G  0 part /media/milton/U16G02 
    # 取消挂载
    milton@milton:~$ sudo umount /media/milton/U16G02 
    

    之后再运行lsblk确认一下. 然后用dd写入

    sudo dd if=ubuntu-22.04.1-desktop-amd64.iso of=/dev/sdc bs=1M status=progress
    

    写入之后, 系统中能看到U盘的变化

    安装过程

    U盘启动, 22.04的试用启动非常慢, 花费的时间是20.04的时间的十倍不止. 不确定是否是因为U盘慢.

    安装的界面比较简单, 过程就不细写了. 分区记录一下

    • 前面留一个EFI分区, 256M
    • 其他空间全部挂载到 /
    • bootloader 指向硬盘设备(不是分区)

    修复VI键盘错误

    Ubuntu22.04 自带nano比较方便, VI和thinkpad的键不太兼容, 方向键不能直接使用, 按如下修改

    sudo nano /etc/vim/vimrc.tiny
    

    配置修改为

    set nocompatible
    set backspace=2
    

    替换默认仓库

    默认仓库为 http://cn.archive.ubuntu.com/ubuntu/ , 这个地址总体还是快的, 但是偶尔会连接错误, 有时候会被解析为ipv6连不上, 干脆换成USTC源. 在命令行中用gedit打开

    sudo gedit /etc/apt/sources.list
    

    http://cn.archive.ubuntu.com/ubuntu/ 全部替换为 http://mirrors.ustc.edu.cn/ubuntu/, 然后保存

    终端中隐藏隐藏文件

    编辑 ~/.bashrc, 修改 ll 的alias

    # some more ls aliases
    alias ll='ls -lF'
    

    关闭中键粘贴

    对于Thinkpad, 和指点杆一起使用中间进行滚动操作时, 经常会误操作为中键粘贴, 需要关闭

    sudo apt install gnome-tweaks
    

    在 Keyboard & Mouse 中关闭

    设置文件管理默认显示字段

    默认的列只有名称, 大小, 日期和星号, 如果调整, 只能每个文件夹挨个调整, 非常不方便.

    使用gsettings进行设置

    # 读取当前设置
    $ gsettings get org.gnome.nautilus.list-view default-visible-columns
    ['name', 'size', 'date_modified', 'starred']
    # 查看可以使用的列
    $ gsettings get org.gnome.nautilus.list-view default-column-order
    ['name', 'size', 'type', 'owner', 'group', 'permissions', 'mime_type', 'where', 'date_modified', 'date_modified_with_time', 'date_accessed', 'date_created', 'recency', 'starred']
    # 设置
    $ gsettings set org.gnome.nautilus.list-view default-visible-columns "['name', 'size', 'type', 'date_modified', 'owner', 'group', 'permissions']"
    

    替换nautilus 支持 type-ahead

    从Ubuntu18.04开始, 文件管理器nautilus在键盘输入时执行的是搜索, 不符合使用习惯, 需要手动替换为支持type-ahead的版本

    # 添加软件源
    sudo add-apt-repository ppa:lubomir-brindza/nautilus-typeahead
    # 更新
    sudo apt dist-upgrade
    # 重启 alt + f2 然后执行
    nautilus -r
    

    安装 Google Chrome

    在 /etc/apt/sources.list.d/ 下创建 google-chrome.list

    sudo nano /etc/apt/sources.list.d/google-chrome.list 
    

    内容

    deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
    

    然后

    # 会提示deprecated, 不影响安装
    wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
    
    sudo apt update
    sudo apt install google-chrome-stable
    

    卸载 Snap

    参考 https://haydenjames.io/remove-snap-ubuntu-22-04-lts/

    snap是一个容器系统, 不太喜欢这种牺牲性能和资源换兼容性的做法, 安装一开始就卸载掉吧.

    首先列出已经安装的snap应用

    snap list
    

    停止snapd服务

    sudo systemctl dis安装able snapd.service
    sudo systemctl disable snapd.socket
    sudo systemctl disable snapd.seeded.service
    

    按顺序删除snap应用, 因为互相有依赖关系, 有些名称会随版本升级变化, 如果不正确, 输入时tab一下

    sudo snap remove firefox
    sudo snap remove snap-store
    sudo snap remove gtk-common-themes
    sudo snap remove gnome-3-38-2004
    sudo snap remove snapd-desktop-integration
    sudo snap remove core18
    sudo snap remove bare
    sudo snap remove snapd
    

    都删除了之后, 删除缓存

    sudo rm -rf /var/cache/snapd/
    

    最后完整删除snapd

    sudo apt autoremove --purge snapd
    

    删除个人用户下的 ~/snap 目录

    rm -rf ~/snap
    

    重新安装 Non-snap Firefox

    默认安装的Firefox在删除snap时一起删除了, 需要另外安装.

    创建文件

    i /etc/apt/preferences.d/firefox-no-snap
    

    添加以下内容, 将Ubuntu自带的firefox降级

    Package: firefox*
    Pin: release o=Ubuntu*
    Pin-Priority: -1
    

    保存后, 添加新的 Mozilla team Ubuntu PPA for Firefox:

    sudo add-apt-repository ppa:mozillateam/ppa
    

    最后通过 apt 安装

    sudo apt update
    sudo apt install firefox
    

    中文输入

    • 首先在 Settings -> Region & Language , 会提示安装语言, 点OK安装, 这一步会安装智能拼音
    • 在Keyboard中添加. 如果没有找到智能拼音, 就重启一下再操作

    安装 Gnome Shell Extension, 安装Unite扩展

    对于不想浪费界面空间的人而言, unite 效果绝对 blow your mind

    sudo apt install gnome-shell-extension-manager
    

    然后运行Extension Manager, 在 Browse 里面找到 Unite, 安装并启用, 默认的配置就很好. 如果嫌最大化之后窗口按钮不好点, 可以在 Appearance里面将 Top bar window buttons position 改成 last.

    明显的界面改动体现在

    1. 窗口最大化之后没有标题栏了, 节省了纵向空间
    2. 时间显示移到右侧, 和其他的通知栏图标在一起, 便于查看.

    硬件和USB设备相关

    禁用 brltty 相关服务

    因为brltty服务与CH341 USB设备冲突

    usb 3-4.2: usbfs: interface 0 claimed by ch34x while 'brltty' sets config #1
    

    需要将其禁用

    sudo systemctl mask brltty.service 
    sudo systemctl mask brltty-udev.service
    

    将用户加入 dialout组

    普通用户默认无法连接 ttyUSB0 这些设备, 需要将自己添加到 dialout 用户组. 平时用不到USB2TTL这些外设的可以不设置.

    sudo usermod -a -G dialout $USER
    

    这个修改需要重启后才能生效

    允许普通用户运行 st-info

    在 /etc/udev/rules.d/ 目录下新增 文件 45-usb-stlink-v2.rules 添加以下内容

    #FT232
    ATTRS{idProduct}=="6014", ATTRS{idVendor}=="0403", MODE="666", GROUP="plugdev"
    
    #FT2232
    ATTRS{idProduct}=="6010", ATTRS{idVendor}=="0403", MODE="666", GROUP="plugdev"
    
    #FT230X
    ATTRS{idProduct}=="6015", ATTRS{idVendor}=="0403", MODE="666", GROUP="plugdev"
    
    #STLINK V1
    ATTRS{idProduct}=="3744", ATTRS{idVendor}=="0483", MODE="666", GROUP="plugdev"
    
    #STLINK V2
    ATTRS{idProduct}=="3748", ATTRS{idVendor}=="0483", MODE="666", GROUP="plugdev"
    

    然后执行sudo udevadm control --reload-rules, 设置在再次连接stlink后生效

    取消dmesg的权限限制

    22.04默认的安全配置下, 普通用户不能运行dmesg, 而硬件开发中需要经常使用这个命令, 每次sudo很不方便. 解除限制需要编辑

    sudo vi /etc/sysctl.d/10-kernel-hardening.conf
    

    取消这一行的注释, 里面有关于这个设置的详细说明

    # kernel.dmesg_restrict = 0
    

    安装 Sublime Text 4

    根据安装说明 http://www.sublimetext.com/docs/linux_repositories.html

    先安装 GPG key

    wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg
    

    如果无法直接下载执行, 可以下载文件后

    cat sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg
    

    添加仓库

    echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
    

    安装

    sudo apt update
    sudo apt install sublime-text
    

    安装看图软件 XnViewMP

    非常好用的看图软件. 访问https://www.xnview.com/en/xnviewmp/#downloads, 下载 XnViewMP-linux-x64.tgz, 解压到 /opt/ 下, 设置owner, 将 XnView.desktop 复制到 /usr/share/applications/ 目录下, 就可以使用了. XnView.desktop里面指向的目录就是 /opt/XnView, 如果使用其他路径需要相应修改

    [Desktop Entry]
    Value=1.0
    Encoding=UTF-8
    Terminal=0
    TryExec=/opt/XnView/xnview.sh
    Exec=/opt/XnView/xnview.sh %F
    Icon=/opt/XnView/xnview.png
    Type=Application
    Categories=Graphics;
    StartupNotify=true
    Name=XnView Multi Platform
    GenericName=XnViewMP
    MimeType=image/bmp;image/jpeg;image/png;image/tiff;image/gif;
    

    安装 Asbru

    在Ubuntu下替代XShell的多终端管理工具, 界面一般, 但是能用

    curl -1sLf 'https://dl.cloudsmith.io/public/asbru-cm/release/cfg/setup/bash.deb.sh' | sudo -E bash
    sudo apt install asbru-cm
    

    安装 JetBrains IDEA

    因为不使用snapd, 所以不能直接从商店里安装. 从 jetbrains官网下载, 解压并移动到 /opt/jetbrains

    # 解压
    tar xvf ideaIU-2022.2.2.tar.gz 
    # 创建目录
    cd /opt/
    sudo mkdir jetbrains
    cd jetbrains/
    # 移动文件并设置权限
    sudo mv ~/Backup/Linux/idea-IU-222.4167.29/ .
    sudo chown -R root:root idea-IU-222.4167.29/
    cd idea-IU-222.4167.29/
    # 看一下安装说明
    more Install-Linux-tar.txt 
    # 运行, 这时候会初始化, 如果是商业版, 会让你登录
    cd bin/
    ./idea.sh 
    # 建立一个软链, 待会儿做桌面图标需要用到
    cd ..
    sudo ln -s idea-IU-222.4167.29 idea
    

    能正常运行之后, 还需要创建桌面图标, 可以通过 Tools->Create Desktop Entry, 也可以手工创建, 如果你的安装目录不一样, 里面的路径需要对应修改一下

    社区版sudo nano /usr/share/applications/idea-ce.desktop

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=IntelliJ IDEA Community Edition
    Icon=/opt/jetbrains/idea/bin/idea.svg
    Exec="/opt/jetbrains/idea/bin/idea.sh" %f
    Comment=Capable and Ergonomic IDE for JVM
    Categories=Development;IDE;
    Terminal=false
    StartupWMClass=jetbrains-idea-ce
    StartupNotify=true
    

    商业版sudo nano /usr/share/applications/idea.desktop

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=IntelliJ IDEA
    Icon=/opt/jetbrains/idea/bin/idea.svg
    Exec="/opt/jetbrains/idea/bin/idea.sh" %f
    Comment=Capable and Ergonomic IDE for JVM
    Categories=Development;IDE;
    Terminal=false
    StartupWMClass=jetbrains-idea
    StartupNotify=true
    

    安装 PyCharm

    过程和 idea 基本一样, 桌面图标配置文件为

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=PyCharm Professional Edition
    Icon=/opt/jetbrains/pycharm/bin/pycharm.svg
    Exec="/opt/jetbrains/pycharm/bin/pycharm.sh" %f
    Comment=Python IDE for Professional Developers
    Categories=Development;IDE;
    Terminal=false
    StartupWMClass=jetbrains-pycharm
    StartupNotify=true
    

    Windows 10 分区挂载后只读的问题

    如果机器中存在安装了Win10的硬盘, 如果Win10启用了 fast startup, 那么Win10的分区在挂载后会是只读的状态, 需要关闭fast startup

    1. Settings -> Power & sleep -> Additional power settings
    2. Choose what the power buttons do
    3. Turn on fast startup (recommended) 取消勾选

    如果选项是灰的无法修改, 需要点击Change settings that are currently unavailable授权后再修改.

    电源管理TLP

    Thinkpad上安装TLP可以设置电池的充电阈值, 避免电池长期处于充饱的状态, 减慢电池衰减速度. 直接sudo apt install tlp可以安装, 注意需要配置一下

    # 修改 /etc/tlp.d/00-template.conf 
    # 00-template.conf - Template for TLP drop-in customizations
    # See full explanation: https://linrunner.de/tlp/settings
    #
    # PARAMETER="value"
    # PARAMETER+="add value"
    USB_BLACKLIST="1a86:7523"
    AHCI_RUNTIME_PM_ON_BAT=on
    

    前一个, 是避免连接CH340之后不断disconnected, 第二个, 是避免Thinkpad在休眠后无法唤醒屏幕无响应, 对应的问题描述在 System unresponsive on wakeup from suspend on battery mode

    使用感受

    Ubuntu22.04, 整体的使用感受上和20.04相似, 但是在一些方面有明显区别

    1. GNOME Terminal 中的粘贴, 会先以高亮的形式出现, 不会立即输入终端, 需要空格或回车后再输入终端. 避免了以往粘贴中带回车时, 一粘贴就立即执行的问题.
    2. 整体界面显示比20.04更紧凑. 右上角改进了图标结构, 取消了20.04中带三角形展开的设计
    3. 桌面比20.04好了不少, 可以多选, 右键菜单功能也多了不少, shift+del也有提示了
    4. 文件浏览的 type-ahead 还是和20.04一样的问题
    5. 关机和重启分开了. Win键调出应用查找框时, 输入shutdown和restart分别对应关机和重启, 这点可能需要花点时间习惯.
    6. 中文方面, 字体貌似也有改进, 中文输入法比20.04中的准确性更好, 暂时还没有出现切换中文输入卡住, 要过几分钟才能恢复的情况.
  • 相关阅读:
    javaEE web 系统安装时自定义初始化
    windows 安装绿色版mysql
    myeclipse 安装svn(subeclipsesite)插件
    Xcode连接 Git
    生成16位不重复编码
    百度工程师也犯低级错误(有心还是无意)?
    IBatis 映射文件 sql 中大于、小于等符号转义
    web项目文档总览
    银行卡号的校验
    身份证的校验
  • 原文地址:https://www.cnblogs.com/milton/p/16702268.html
Copyright © 2020-2023  润新知