mint cinnamon

最终因为内存等资源占用过大,虽然比ubuntu小,但仍无法忍受,还是全面转向alpine做宿主+各种docker方式使用

vmware虚拟机安装

  • 虚拟机优化:vmx文件增加一行 mainMem.useNamedFile = "FALSE" 不在硬盘创建内存缓存文件,会占用更多宿主机内存
  • 虚拟机资源:4C8G100G
  • 加载ISO:linuxmint-22.3-cinnamon-64bit.iso
  • 进引导安装:全是可视化安装,没啥好说的,点击完成

系统初始化

  • 网络初始化

    --------------网卡初始化---------------
    ip addr							# 网卡列表,ip a 一样
    sudo ip link set ens33 down		# 网卡关闭,谨慎操作,直接断网
    sudo ip link set ens33 up		# 网卡开启
    
    ---------------DHCP刷新---------------
    sudo dhclient -r ens33			# 网卡释放IP
    sudo dhclient ens33				# 网卡获取IP
    
    ---------------全局代理----------------
    curl -v google.com				# 代理测试
    
    ---------------虚拟机控制
    tasklist | grep vmx
    taskkill /F /PID 1632
  • 系统微调
    • 搜索“特效 (Effects)”,关闭所有窗口切换动画
    • 在“电源管理”中设置“从不待机”和“从不关闭屏幕”
    • 软件源换国内
    • 应用管理器更新
    • 桌面界面代理:网卡设置代理:192.168.1.120:7890;忽略localhost,127.0.0.1,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16,10.0.0.0/8,::1
  • 更新系统和包

    sudo apt update && sudo apt upgrade -y
    sudo apt install -y build-essential curl git wget software-properties-common
  • 换回centos的vi

    sudo apt install -y vim
    echo "alias vi='vim'" >> ~/.bashrc && source ~/.bashrc
    source ~/.bashrc
  • 时区

    timedatectl										# 当前时区
    timedatectl list-timezones | grep Shanghai		# 可用时区
     sudo timedatectl set-timezone Asia/Shanghai	# 设置时区
  • 终端代理:alpine docker 代理设置(linux通用)
  • 快捷命令:alpine docker 快速命令设置
  • 安装vmwaretools

    sudo apt install -y open-vm-tools open-vm-tools-desktop
    systemctl status vmtoolsd
  • 文件数上限

    echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
  • 安装输入法:UI操作安装非常难,请务必用命令行!全部试一遍,rime是最简单的
  • ------------------ 安装 fcitx5 输入法引擎 -----------------
    sudo apt install -y fcitx5 fcitx5-frontend-qt5 fcitx5-frontend-qt6 fcitx5-frontend-gtk2 fcitx5-frontend-gtk3 fcitx5-rime
    
    vi  ~/.profile
    export QT_IM_MODULE=fcitx5
    export XMODIFIERS="@im=fcitx5"
    export GTK_IM_MODULE=fcitx5
    
    source ~/.profile
    首选项-开机自启设置-添加fcitx5
    
    ------------------ 在fcitx5添加rime输入法 -----------------
    注销用户后再次登录,fcitx5托盘图标右键点击配置-添加rime输入法即可
    
    ------------------ 添加rime 拼音方案 -----------------
    cd /www/rime			# 方案根目录
    git clone https://github.com/Mintimate/oh-my-rime.git --depth 1	# 拉取薄荷拼音
    git pull				# 后续手动更新方案
    cp /www/rime/oh-my-rime/* ~/.local/share/fcitx5/rime/ -r		# 覆盖
    
    ------------------ rime 重新部署 ------------------
    lsof -p $(pgrep -x fcitx5) | grep rime		# 输入法运行时状态
    rime_deployer --build \
      ~/.local/share/fcitx5/rime \
      /usr/share/rime-data \
      ~/.local/share/fcitx5/rime/build			# 重新构建
    killall fcitx5 && sleep 1 && fcitx5 &		# 重新加载
    
    --------------------清理无用的语言包---------------------
    sudo find /usr/share/locale -mindepth 1 -maxdepth 1 ! -name "en_US" ! -name "zh_CN" ! -name "locale.alias" -exec rm -rf {} \;
    sudo update-locale LANGUAGE="zh_CN:en"
    sudo update-locale LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8
  • 原生RDP远程桌面

    # --------- RDP ------------
    sudo apt install -y xrdp # 安装xrdp
    sudo apt install -y cinnamon-desktop-environment # 安装桌面依赖
    sudo adduser xrdp ssl-cert  # 解决权限问题
    sudo vi /etc/xrdp/startwm.sh # 编辑xrdp会话启动文件最后一行之前插入
    unset DBUS_SESSION_BUS_ADDRESS
    unset XDG_RUNTIME_DIR
    exec cinnamon-session
    sudo systemctl start xrdp # 启动xrdp
    sudo systemctl enable xrdp # 设开机自启
    sudo systemctl status xrdp # 检查状态
    
    # ----- vmware tools -------
    sudo apt install open-vm-tools-desktop
    
    # -------- ssh 密钥 ---------
    sudo apt install openssh-server
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh  # 必须700,权限太宽会被SSH拒绝
    vi ~/.ssh/authorized_keys # 粘贴公钥
    chmod 600 ~/.ssh/authorized_keys  # 必须600
  • swap交换区(可选)

    sudo fallocate -l 4G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

开发环境

  • python预备

    # -------------- conda -------------------
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    bash Miniconda3-latest-Latest-Linux-x86_64.sh
    source ~/.bashrc
    # -------------- docker -------------------
    sudo touch /etc/apt/sources.list.d/docker.list
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list
    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
    sudo usermod -aG docker $USER
    newgrp docker
    reboot
    # -------------- vscode -------------------
    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
    sudo install -D -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/packages.microsoft.gpg
    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
    rm -f packages.microsoft.gpg
    sudo apt update
    sudo apt install code -y
    远程终端输入code回车,在宿主机开启vscode,非常神奇
  • docker 容器内部代理

    mkdir -p ~/.docker
    vi ~/.docker/config.json
    {
     "proxies": {
       "default": {
         "httpProxy": "http://x99.kc.com:7890",
         "httpsProxy": "http://x99.kc.com:7890",
         "noProxy": "localhost,127.0.0.1,0.0.0.0,::1,.local,.lan,.test,.work,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,100.64.0.0/10,169.254.0.0/16,.svc,.cluster.local,.cn,.aliyun.com,.aliyuncs.com,.alicdn.com,.tencent.com,.myqcloud.com,.baidu.com,.baidupcs.com,.huaweicloud.com,.jd.com,registry.npmmirror.com,binary.npmmirror.com,gitee.com,codeup.aliyun.com,opencode,nginx,mariadb,hermes,hermes-agent,hermes-webui,hermes-dashboard,atibm.com"
       }
     }
    }
    
    sudo systemctl restart docker		# 生效
    docker version --format '{{.Client}}'	# 验证能看到default标签
  • docker deamon服务管理代理

    sudo mkdir -p /etc/systemd/system/docker.service.d
    sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf
    -----------------
    [Service]
    Environment="HTTP_PROXY=http://x99.kc.com:7890"
    Environment="HTTPS_PROXY=http://x99.kc.com:7890"
    Environment="NO_PROXY=localhost,127.0.0.1,0.0.0.0,::1,.local,.lan,.test,.work,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,100.64.0.0/10,169.254.0.0/16,.svc,.cluster.local,.cn,.aliyun.com,.aliyuncs.com,.alicdn.com,.tencent.com,.myqcloud.com,.baidu.com,.baidupcs.com,.huaweicloud.com,.jd.com,registry.npmmirror.com,binary.npmmirror.com,gitee.com,codeup.aliyun.com,opencode,nginx,mariadb,hermes,hermes-agent,hermes-webui,hermes-dashboard,atibm.com,kc.com"
    
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    docker info | grep -i proxy
  • python环境

    # -------------- 系统自带python环境 -------------------
    at@vm-mint:~$ which python3
    /usr/bin/python3
    at@vm-mint:~$ python3 --version
    Python 3.12.3
  • 安装npm(补充)

    # Remove the cached package lists
    # sudo rm -rf /var/lib/apt/lists/*
    # sudo apt-get clean
    # sudo apt-get update
    
    # 升级nodejs
    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - 
    sudo apt-get install -y nodejs
    node -v
    
    # 安装npm
    sudo apt update
    sudo apt install -y npm
    npm -v
  • 安装jq解析工具(补充)

    sudo apt update && sudo apt install jq -y

远程vscode

  • 打开文件夹卡死

    pkill -9 code

清理垃圾

  • 手动清理

    # 清理系统缓存
    sudo apt autoremove --purge && sudo apt clean && sudo apt autoclean
    
    # 1. 清理内核头文件和旧内核(如果不需要编译内核)
    sudo apt autoremove --purge linux-headers-* linux-image-unsigned-*
    dpkg --get-selections | grep linux-image
    
    # 清理用户临时垃圾(安全,不删配置)
    rm -rf ~/.cache/* ~/.local/share/Trash/* ~/.local/share/recently-used.xbel ~/.wget-hsts ~/.lesshst ~/.viminfo ~/.xsession-errors* ~/.xorgxrdp.*.log* ~/.pcsc10 ~/.pcsc12 ~/.pki ~/.sunpinyin ~/.presage ~/.dbus ~/.chewing
    
    # 清理 conda 临时文件
    conda clean -a -y
    
    # 清理 VSCode 缓存(不删配置)
    rm -rf ~/.config/Code/Cache ~/.config/Code/CachedData ~/.config/Code/Service\ Worker\ ScriptCache ~/.config/Code/Code\ Cache
    
    # 一键删除空的默认目录
    rm -rf ~/公共 ~/模板 ~/视频 ~/图片 ~/文档 ~/下载 ~/音乐
    
    # 编辑用户目录配置文件
    sed -i '/^XDG_DESKTOP_DIR/! s/^/# /' ~/.config/user-dirs.dirs
    echo "enabled=false" > ~/.config/user-dirs.conf
    
    xdg-user-dirs-update
  • ncdu工具

    sudo apt install ncdu
    sudo ncdu /
    ----------------------------
    sudo apt purge "cuda-*-13-2" "libnvidia-*-13-2"
    sudo apt purge "cuda-toolkit-13-2-config-common" "cuda-toolkit-13-config-common"
    sudo apt autoremove --purge
  • docker占用

    docker system df
    # 清理已停止的容器;清理构建残留;清理无用的匿名卷;清理悬空镜像
    docker container prune -f;docker builder prune -f;docker system prune --volumes -f;docker image prune -f

爱普生打印机

没搞定,默认就能自动加载所有网络打印机,但是打印会报错,打印机自身工作正常