Linux常用配置

"Linux软件及配置"

Posted by Gumc on September 28, 2022

开发经常涉及一些安装和配置。Linux相关的整理了多年都很完善了,这里进行整理下方便记录。

安装系统

此处以Ubuntu 24.04.3 LTS为例。

  • 下载Ubuntu 24.04.3 LTS
  • 使用Rufus刻录系统启动盘
  • 使用启动盘安装Ubuntu (参考官方教程) (注:安装时语言选择English,然后进入桌面后再切换语言为中文,然后选择保留旧文件夹,这样可以让文档或下载等目录保持英文,方便shell使用。)
  • 更新
1
2
  sudp apt update
  sudo apt upgrade

基础配置

1
2
# 安装本地deb:sudo apt install -fy xxx.deb
# 安装本地AppImage:sudo yum install xxx.AppImage

远程桌面

开启WOL(Wake On LAN)

为了方便远程操作,开启Wake On LAN。参考资料

  • 确保使用有线网卡
  • 在BIOS中,确保Wake on LAN类似的配置时启动的。
  • 使用ethtool开启WOL
1
2
3
4
5
6
7
8
  # 列出所有网络端口,查看有线以太网接口,名称通常是 eno1, enp2s0, eth0
  ip a
  # 安装 ethtool
  sudo dnf install ethtool
  # 检查当前的 WOL 状态, 查看 Wake-on: 后面的字母,这个字母一般是 d (disabled),或者没有 g,你就需要手动启用它
  sudo ethtool <接口名称> | grep "Wake-on"
  # 临时启用 WOL,启动后可以再次查看WOL状态,会发现现在变成g了(这个是必须的,如果不临时开启,永久生效的似乎也开启不了)
  sudo ethtool -s <接口名称> wol g
  • 永久启用WOL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  # 找到 Netplan 配置文件,可能是 01-network-manager-all.yaml 或类似的名字
  ls /etc/netplan/  
  # 编辑配置文件(YAML 文件对缩进非常敏感,请务必使用空格而不是 Tab)
  sudo vim /etc/netplan/01-network-manager-all.yaml
  # YAML 文件对缩进非常敏感,请务必使用空格而不是 Tab
  network:
  ethernets:
    enp3s0:
      dhcp4: true
      wakeonlan: true # <--- 添加这一行
  version: 2
  renderer: NetworkManager
  # 运行以下命令让配置生效
  sudo netplan apply
  # 如提示Permission for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should not be accessible by others.是因为文件权限过于开放,将文件权限设置为只有所有者(即 root 用户)可以读写,其他用户没有任何权限
  sudo chmod 600 /etc/netplan/01-network-manager-all.yaml
  # 如提示:systemd-networkd is not running, output might be incomplete,failed to reload network setting: Unit dbus-org.freedesktop.network1.service not found,则需要确认 NetworkManager正在运行,确保 systemd-networkd 是禁用的
  systemctl status NetworkManager
  sudo systemctl start NetworkManager
  sudo systemctl enable NetworkManager
  # 可能需要确保 systemd-networkd 是禁用的
  sudo systemctl stop systemd-networkd
  sudo systemctl disable systemd-networkd

开启远程桌面

  • 切换为X11
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    # 如果输出是 wayland,那么您当前正在使用 Wayland。
    # 如果输出是 x11,那么您当前正在使用 X11。
    echo $XDG_SESSION_TYPE
    # 编辑 GDM3 配置文件
    sudo vim /etc/gdm3/custom.conf
    # 取消注释并修改
    # GDM configuration storage
    #
    # See /usr/share/gdm/gdm.schemas for a list of available options.
    [daemon]
    # Uncomment the line below to force the login screen to use Xorg
    WaylandEnable=false 
    

    重启电脑 - 输入密码前点击右下角齿轮状图标 - 选择 Ubuntu On Xorg

  • 安装RustDesk
    1
    2
    3
    4
    
    # please ignore the wrong disk usage report
    sudo apt install -fy rustdesk-<version>.de
    # 或者For Ubuntu
    sudo yum install libfuse2 rustdesk-<version>.AppImage
    
  • RustDesk设置开机启动
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
27
28
29
30
31
  # 使用文本编辑器打开文件
  sudo vim /etc/systemd/system/rustdesk.service
  # 如果没有复制以下文件,或者复制RustDesk自带的rustdesk.service
  [Unit]
  Description=RustDesk Service
  # 启动依赖:需要网络和图形登录界面都准备好之后再启动
  After=network.target display-manager.service

  [Service]
  Type=simple
  # 使用 root 用户运行,以便有权限控制显示和输入
  User=root
  # 设置必要的环境变量,让 RustDesk 知道要连接到哪个显示器
  # 登录屏幕通常是 :0
  Environment=DISPLAY=:0
  # 指定要运行的命令,--service 参数是让 RustDesk 以服务模式运行
  ExecStart=/usr/bin/rustdesk --service
  # 如果服务意外退出,总是尝试重启
  Restart=always

  [Install]
  # 将此服务链接到图形界面的目标,以便开机自启
  WantedBy=graphical.target

  # 重新加载 systemd 配置:
  sudo systemctl daemon-reload
  # 启用 RustDesk 服务
  sudo systemctl enable rustdesk.service
  sudo systemctl start rustdesk.service
  sudo systemctl status rustdesk.service
  # 确保是active

定时关机

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 创建关机服务
sudo vim /etc/systemd/system/shutdown.service

# 将以下内容复制到shutdown.service中
[Unit]
Description=Scheduled Shutdown Service
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/shutdown -h now "Scheduled shutdown initiated by systemd timer"

# 创建定时器文件
sudo vim /etc/systemd/system/shutdown.timer

# 添加以下内容到shutdown.timer中
[Unit]
Description=Run shutdown.service daily at 2 AM

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
Unit=shutdown.service

[Install]
WantedBy=timers.target

# 重载 systemd 配置
sudo systemctl daemon-reload

# 启用定时器
sudo systemctl enable shutdown.timer

# 检查您的定时器设置是否正确,下一次运行是什么时候
systemctl list-timers

# 如果需要取消关机
# sudo systemctl stop shutdown.timer
# sudo systemctl disable shutdown.timer
# 如果需要修改关机时间
# 编辑 /etc/systemd/system/shutdown.timer 文件。
# 修改 OnCalendar= 这一行的时间。
# 运行 sudo systemctl daemon-reload。
# 再次用 systemctl list-timers 确认新的执行时间。