跳到主要内容

Ubuntu 快速开始指南

本指南将帮助您在 Neardi 硬件平台上快速使用 Ubuntu 系统。

取消屏保和锁屏

屏保和锁屏设置

  • Gnome桌面:Settings → Privacy → Screen → Blank Screen Delay改为Never、Automatic Screen Lock取消选中
  • LXDE桌面:Menu → Preferences → Screensaver → Mode → Disable Screen Saver

语言和区域设置

语言设置

方法一:图形界面设置(推荐)

  • Gnome桌面:Settings → Region & Language → Language → 选择中文
  • LXDE桌面:Menu → Preferences → Language Support → 选择中文

方法二:命令行设置

# 安装中文语言包
sudo apt update
sudo apt install language-pack-zh-hans language-pack-zh-hans-base

# 配置系统语言
sudo dpkg-reconfigure locales
# 在弹出的界面中选择:zh_CN.UTF-8
# 设置环境变量(可选)
echo 'export LANG=zh_CN.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=zh_CN.UTF-8' >> ~/.bashrc
source ~/.bashrc

时区设置

# 查看当前时区
timedatectl status

# 设置时区为中国标准时间
sudo timedatectl set-timezone Asia/Shanghai

# 若上述命令无效,使用备用方法
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
sudo timedatectl set-timezone Asia/Shanghai
sudo reboot

# 或者编辑时区配置文件
echo 'Asia/Shanghai' | sudo tee /etc/timezone
sudo dpkg-reconfigure -f noninteractive tzdata

# 验证时区设置
date

输入法设置

# 安装中文输入法
sudo apt install ibus-pinyin

# 重启输入法服务
ibus restart

# 设置ibus为默认输入法框架
im-config -n ibus

# 启动ibus守护进程
ibus-daemon -drx

图形界面配置:

  1. Gnome桌面:Settings → Region & Language → Input Sources → + → Chinese (Pinyin)
  2. LXDE桌面:Menu → Preferences → IBus Preferences → Input Method → Add → Chinese → Pinyin

如果右下角仍无中文选择,尝试以下步骤:

# 注销并重新登录,或重启系统
sudo reboot

# 手动启动ibus设置
ibus-setup

# 在弹出的窗口中:
# 1. 点击"Input Method"标签
# 2. 点击"Add"按钮
# 3. 选择"Chinese" → "Pinyin"
# 4. 点击"Add"确认
# 设置切换快捷键(通常是Super+Space或Ctrl+Space)

使用方法:

  • 切换输入法:Super + SpaceCtrl + Space
  • 中英文切换:Shift

网络配置

自动网络配置:

  • 有线网络: 插入网线后自动获取 IP 地址
  • WiFi: 通过桌面环境的网络管理器连接

手动配置 WiFi (命令行):

# 扫描可用网络
nmcli dev wifi list

# 连接 WiFi 网络
sudo nmcli device wifi connect neardi_5G password neardi_pwd ifname wlan0

基本配置

打开终端

通用快捷键方式(推荐):

  • Ctrl + Alt + T - 直接打开终端
  • Win + R - 打开运行对话框,输入 terminal(Gnome)或 lxterminal(LXDE),然后按 Enter

Gnome 桌面环境下:

  1. 点击左上角的 "Activities" 按钮
  2. 在搜索框中输入 "Terminal" 或 "终端"
  3. 点击终端应用程序图标

LXDE 桌面环境下:

  1. 点击左下角的菜单按钮
  2. 选择 "System Tools" → "LXTerminal"
  3. 或者右键点击桌面,选择 "Open Terminal Here"

更新系统

# 更新软件包列表
sudo apt update

# 升级系统软件包
sudo apt upgrade -y

# 安装常用工具
sudo apt install -y curl wget git vim htop

SSH 服务配置

注意: Neardi Ubuntu 系统默认已启用 SSH 服务,通常无需额外配置。

# 检查 SSH 服务状态
sudo systemctl status ssh

# 如果 SSH 服务未安装或未启动,执行以下命令
sudo apt install -y openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

# 查看系统 IP 地址
ip addr show

# 或使用简化命令查看 IP
hostname -I

SSH 连接测试:

# 从其他设备连接到此系统
# ssh username@ip_address
# 例如:ssh neardi@192.168.1.100

配置防火墙

# 启用 UFW 防火墙
sudo ufw enable

# 允许 SSH 连接
sudo ufw allow ssh

# 查看防火墙状态
sudo ufw status

远程访问

SSH 连接(推荐)

1. 基本 SSH 连接

首先获取设备 IP 地址:

# 查看设备 IP 地址(推荐)
hostname -I

# 或使用详细信息查看
ip addr show

从 PC 端连接设备:

# 基本连接方式
ssh neardi@192.168.1.100 # 替换为实际IP地址

# 指定端口连接(如果SSH端口不是默认22)
ssh -p 2222 neardi@192.168.1.100

2. SSH 密钥认证配置(推荐)

使用密钥认证更安全且无需每次输入密码:

# 在 PC 端生成密钥对(如果还没有)
ssh-keygen -t rsa -b 4096

# 将公钥复制到设备
ssh-copy-id neardi@192.168.1.100

# 之后可直接连接,无需密码
ssh neardi@192.168.1.100

3. SSH root 用户登录配置

⚠️ 安全提示:允许 root 远程登录存在安全风险,建议仅在开发环境使用

# 修改 SSH 配置文件
sudo nano /etc/ssh/sshd_config

# 找到并修改以下配置项
# PermitRootLogin yes
# PasswordAuthentication yes # 如需密码登录
# 重启 SSH 服务使配置生效
sudo systemctl restart ssh

# 验证配置
sudo systemctl status ssh

4. SSH 文件传输

# 从 PC 复制文件到设备
scp /path/to/local/file.txt neardi@192.168.1.100:/home/neardi/

# 从设备复制文件到 PC
scp neardi@192.168.1.100:/home/neardi/file.txt /path/to/local/

# 复制整个目录
scp -r /path/to/local/folder neardi@192.168.1.100:/home/neardi/

# 使用 rsync 同步文件(推荐大文件传输)
rsync -avz /path/to/local/folder/ neardi@192.168.1.100:/home/neardi/folder/

ADB 连接

有线 ADB 连接

适用于 Android 系统或支持 ADB 的设备:

# 通过 Type-C 或 USB 数据线连接设备和 PC
# 确保设备已开启开发者选项和 USB 调试
# 查看连接的设备
adb devices

# 进入设备 shell
adb shell

# 文件传输
adb push /path/to/local/file /sdcard/
adb pull /sdcard/file /path/to/local/

远程桌面

VNC 远程桌面

详细的VNC远程桌面配置请参考:VNC远程桌面配置

NoMachine 远程桌面

详细的NoMachine远程桌面配置请参考:NoMachine远程桌面配置

高级网络配置

固定 IP 地址配置

方法一:传统网络配置 (LXDE 桌面环境)

编辑 /etc/network/interfaces 文件,添加 eth0 和 eth1 的配置:

sudo vi /etc/network/interfaces

若没有 /etc/network/interfaces 文件,先安装 ifupdown:

sudo apt update
sudo apt install ifupdown

完整配置文件示例:

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto eth0
iface eth0 inet static
address 192.168.100.100
netmask 255.255.255.0
gateway 192.168.100.200

auto eth1
iface eth1 inet static
address 192.168.101.100
netmask 255.255.255.0
gateway 192.168.101.200

配置说明:

  • auto eth0auto eth1:表示系统启动时自动启用 eth0 和 eth1 网络接口
  • iface eth0 inet staticiface eth1 inet static:指定 eth0 和 eth1 使用静态IP配置
  • address:指定静态IP地址
  • netmask:指定子网掩码
  • gateway:指定网关地址

应用配置或重启设备生效:

# 重启整个网络服务
sudo systemctl restart NetworkManager

# 或重启设备
sudo reboot

方法二:使用 Netplan 配置 (Ubuntu 18.04+)

# 使用 netplan 配置
sudo vi /etc/netplan/01-netcfg.yaml

# 配置示例
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]

# 应用配置
sudo netplan apply

系统优化

性能调优

内存管理:

# 查看内存使用情况
free -h
htop

# 清理系统缓存
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

创建交换文件 (适用于内存较小的设备):

# 创建 2GB 交换文件
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 设置开机自动挂载
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# 调整交换使用策略 (可选)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

存储空间管理:

# 扩展根分区 (首次启动后执行)
sudo resize2fs /dev/mmcblk1p8

# 查看磁盘使用情况
df -h
du -sh /*

# 清理系统垃圾文件
sudo apt autoremove -y
sudo apt autoclean

故障排除

网络问题

网络连接故障:

# 检查网络接口状态
ip link show
ifconfig

# 重启网络服务
sudo systemctl restart NetworkManager

# 测试网络连通性
ping -c 4 8.8.8.8
nslookup google.com

系统问题

查看系统日志:

# 实时查看系统日志
sudo journalctl -f

# 查看启动日志
sudo dmesg | tail -50

# 查看特定服务状态
sudo systemctl status ssh
sudo systemctl status NetworkManager

系统修复:

# 修复软件包依赖
sudo apt --fix-broken install

# 重新配置软件包
sudo dpkg --configure -a

# 检查文件系统
sudo fsck /dev/mmcblk1p8

系统功能与管理(合并自 system-features.md)

Ubuntu 系统特性

本文档提供了 Ubuntu 在 Neardi 硬件平台上的特殊功能和优化的详细信息。

软件生态系统

包管理器 (APT)的直接链接")

# 更新包列表
sudo apt update

# 搜索包
apt search <package_name>

# 安装包
sudo apt install <package_name>

# 查看已安装的包
apt list --installed

# 自动清理
sudo apt autoremove
sudo apt autoclean

容器支持

Docker

# 安装 Docker
sudo apt install docker.io
sudo systemctl enable docker
sudo usermod -aG docker $USER

# 运行容器
docker run hello-world

# 查看运行中的容器
docker ps

开发环境

编程语言支持

Python 开发

# Python 3 (预安装)
python3 --version

# 安装开发工具
sudo apt install python3-dev python3-pip python3-venv

# 创建虚拟环境
sudo -i
python3 -m venv myenv
source myenv/bin/activate

C/C++ 开发

# 安装编译工具链
sudo apt install build-essential
sudo apt install cmake gdb valgrind

集成开发环境

VS Code

# 安装 VS Code
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
sudo apt update
sudo apt install code

备注

如果 VS Code 打开时无响应并显示空白屏幕,请尝试:

alias code="code --disable-gpu"

网络和安全

防火墙配置 (UFW)的直接链接")

# 启用防火墙
sudo ufw enable

# 允许特定端口
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS

# 查看规则
sudo ufw status verbose

# 删除规则
sudo ufw delete allow 80/tcp

SSH 服务配置

# 安装并启用 SSH
sudo apt install openssh-server
sudo systemctl enable ssh

# 配置 SSH
sudo vim /etc/ssh/sshd_config

# 重启 SSH 服务
sudo systemctl restart ssh

系统监控和性能

系统监控工具

# 安装监控工具
sudo apt install htop iotop nethogs
sudo apt install sysstat lm-sensors

# 实时系统监控
htop # 进程监控
iotop # I/O 监控
nethogs # 网络监控
sensors # 温度监控

性能分析

# CPU 性能测试
sudo apt install stress-ng
stress-ng --cpu 4 --timeout 60s

# 内存测试
sudo apt install memtester
sudo memtester 1G 1

# 磁盘性能测试
sudo apt install fio
fio --name=test --ioengine=libaio --rw=randrw --bs=4k --numjobs=4 --size=1G --runtime=60

日志管理

# 查看系统日志
sudo journalctl -f
sudo journalctl -u ssh.service

# 查看认证相关日志
sudo journalctl -u ssh.service -f
sudo journalctl --since "1 hour ago" | grep -i auth
sudo journalctl --since "1 hour ago" | grep -i ssh

# 查看系统启动日志
sudo journalctl -b
sudo journalctl -b -1 # 上次启动日志

# 日志大小管理
sudo journalctl --vacuum-size=100M
sudo journalctl --vacuum-time=30d

# 查看日志文件位置
ls -la /var/log/journal/
sudo journalctl --disk-usage

# 查看特定日志文件,例如前几天的日志
journalctl --file /var/log/journal/[machine-id]/system.journal

多媒体和图形

音频支持

录音:

arecord -Dhw:0,0 -r48000 -f S16_LE -c2 > 001.wav

参数说明:

-Dhw:0,0 指定录音设备,0,0 是卡 0 设备 0,即第一个声卡的第一个设备。

-r48000 指定采样率,单位为 Hz,48000 表示每秒采样 48000 次。

-f S16_LE 指定��采样格式,S16_LE 表示有符号 16 位小端格式,每个采样点占用 2 字节,低字节在前,高字节在后。

-c2 指定通道数,2 表示双通道,即立体声。

> 001.wav 指定输出文件,> 表示将标准输出重定向到文件,001.wav 是文件名,wav 表示文件格式。

播放音频:

aplay -D hw:0,0 001.wav

参数说明:

-D hw:0,0 指定播放设备,hw:0,0 是卡 0 设备 0,即第一个声卡的第一个设备。

001.wav 指定音频文件,wav 表示文件格式,001 是文件名。

视频和图像处理

# FFmpeg 视频处理
sudo apt install ffmpeg

# 图像处理工具
sudo apt install imagemagick gimp

# OpenCV 开发库
sudo apt install libopencv-dev python3-opencv

显示管理

Ubuntu 通过 xrandr 命令行工具提供强大的显示管理功能,允许您动态配置显示分辨率、方向和刷新率。

查看当前显示配置:

# 列出所有可用显示器及其当前设置
xrandr

# 获取特定显示器的详细信息
xrandr --query

更改显示分辨率:

# 设置显示分辨率(将 HDMI-1 替换为您的实际显示器名称)
xrandr --output HDMI-1 --mode 1920x1080

# 设置自定义分辨率和刷新率
xrandr --output HDMI-1 --mode 1920x1080 --rate 60

列出显示器的所有可用分辨率

xrandr --output HDMI-1 --query

旋转显示器:

# 顺时针旋转显示器 90 度
xrandr --output HDMI-1 --rotate right

# 逆时针旋转显示器 90 度
xrandr --output HDMI-1 --rotate left

# 旋转显示器 180 度
xrandr --output HDMI-1 --rotate inverted

# 重置为正常方向
xrandr --output HDMI-1 --rotate normal

调整刷新率:

# 设置特定刷新率
xrandr --output HDMI-1 --rate 75

# 列出当前分辨率的可用刷新率
xrandr --output HDMI-1 --query | grep -A 10 "connected"

多显示器配置:

# 将桌面扩展到第二个显示器(右侧)
xrandr --output HDMI-1 --auto --output HDMI-2 --auto --right-of HDMI-1

# 镜像显示器
xrandr --output HDMI-1 --auto --output HDMI-2 --auto --same-as HDMI-1

# 关闭显示器
xrandr --output HDMI-2 --off

# 打开显示器
xrandr --output HDMI-2 --auto

创建和应用自定义分辨率:

# 为自定义分辨率生成模式线
gtf 1920 1080 60

# 添加自定义模式(使用 gtf 命令的输出)
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

# 将模式添加到显示器
xrandr --addmode HDMI-1 "1920x1080_60.00"

# 应用自定义模式
xrandr --output HDMI-1 --mode "1920x1080_60.00"

保存和恢复显示配置:

# 将当前配置保存到脚本
echo "#!/bin/bash" > ~/display_config.sh
echo "xrandr --output HDMI-1 --mode 1920x1080 --rate 60 --rotate normal" >> ~/display_config.sh
chmod +x ~/display_config.sh

# 应用保存的配置
~/display_config.sh

提示

要使显示设置在重启后保持,请将您的 xrandr 命令添加到桌面环境的启动应用程序中,或创建一个 systemd 服务。

备注

显示器名称(如 HDMI-1、eDP-1、VGA-1)可能因硬件而异。使用不带参数的 xrandr 命令查看系统上可用的显示器名称。

输入设备管理

Ubuntu 通过 xinput 命令行工具提供输入设备管理功能,允许您配置键盘、鼠标、触摸板和其他输入设备。

安装 xinput(如果尚未安装):

# 安装 xinput 软件包
sudo apt update
sudo apt install xinput

# 验证安装
xinput --version

列出输入设备:

# 列出所有输入设备
xinput list

# 以简短格式列出设备
xinput list --short

# 仅列出特定设备类型
xinput list --name-only

设备信息和属性:

# 获取设备的详细信息(将 'device_id' 替换为实际 ID)
xinput list-props device_id

# 获取设备功能
xinput query-state device_id

# 测试设备输入
xinput test device_id

启用/禁用输入设备:

# 禁用设备(在使用外部鼠标时禁用触摸板很有用)
xinput disable device_id

# 启用设备
xinput enable device_id

# 示例:禁用触摸板
xinput disable "SynPS/2 Synaptics TouchPad"

# 示例:启用触摸板
xinput enable "SynPS/2 Synaptics TouchPad"

配置鼠标设置:

# 设置鼠标加速度
xinput set-prop "device_name" "libinput Accel Speed" 0.5

# 禁用鼠标加速度
xinput set-prop "device_name" "libinput Accel Profile Enabled" 0, 1

# 设置鼠标按键映射(交换左右键)
xinput set-button-map device_id 3 2 1

# 重置按键映射为默认
xinput set-button-map device_id 1 2 3

配置触摸板设置:

# 启用/禁用触摸板轻触
xinput set-prop "device_name" "libinput Tapping Enabled" 1 # 启用
xinput set-prop "device_name" "libinput Tapping Enabled" 0 # 禁用

# 配置触摸板滚动
xinput set-prop "device_name" "libinput Scroll Method Enabled" 0, 0, 1 # 边缘滚动
xinput set-prop "device_name" "libinput Scroll Method Enabled" 0, 1, 0 # 双指滚动

# 设置触摸板灵敏度
xinput set-prop "device_name" "libinput Accel Speed" 0.3

# 启用自然滚动
xinput set-prop "device_name" "libinput Natural Scrolling Enabled" 1

配置键盘设置:

# 设置键盘重复率和延迟
xinput set-prop "device_name" "libinput Repeat Rate" 30
xinput set-prop "device_name" "libinput Repeat Delay" 300

# 使用 xset 的替代方法
xset r rate 300 30 # 延迟 300ms,速率 30 次重复/秒

设备坐标变换:

# 将输入设备映射到特定显示器(对多显示器设置很有用)
xinput map-to-output device_id HDMI-1

# 设置坐标变换矩阵
xinput set-prop device_id "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 1

# 示例:将触摸板限制在屏幕左半部分
xinput set-prop device_id "Coordinate Transformation Matrix" 0.5 0 0 0 1 0 0 0 1

保存和恢复输入设备配置:

# 保存当前 xinput 配置
echo "#!/bin/bash" > ~/input_config.sh
echo "# 鼠标设置" >> ~/input_config.sh
echo "xinput set-prop 'Logitech USB Optical Mouse' 'libinput Accel Speed' 0.5" >> ~/input_config.sh
echo "# 触摸板设置" >> ~/input_config.sh
echo "xinput set-prop 'SynPS/2 Synaptics TouchPad' 'libinput Tapping Enabled' 1" >> ~/input_config.sh
chmod +x ~/input_config.sh

# 应用保存的配置
~/input_config.sh

常见设备名称示例:

# 查找系统的确切设备名称
xinput list | grep -E "(mouse|Mouse|touchpad|TouchPad|keyboard|Keyboard)"

# 常见设备名称模式:
# - "SynPS/2 Synaptics TouchPad"
# - "Logitech USB Optical Mouse"
# - "AT Translated Set 2 keyboard"
# - "ELAN Touchscreen"

提示

要使输入设备设置在重启后保持,请将您的 xinput 命令添加到桌面环境的启动应用程序中,或创建一个 systemd 服务。

备注

设备 ID 可能在重启后发生变化。在脚本中使用设备名称而不是 ID 以获得更好的可靠性。您可以使用 xinput list 查找设备名称。

启动脚本和自启动

Systemd 服务

# 创建自定义服务
sudo vim /etc/systemd/system/myapp.service

# 服务文件示例
[Unit]
Description=My Application
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/myapp
ExecStart=/usr/bin/python3 /home/ubuntu/myapp/main.py
Restart=always

[Install]
WantedBy=multi-user.target

启用并启动服务

sudo systemctl enable myapp.service
sudo systemctl start myapp.service

Cron 任务

# 编辑 cron 任务
crontab -e

# 示例任务
# 每分钟执行
* * * * * /usr/bin/python3 /home/ubuntu/scripts/monitor.py

# 每天凌晨 2 点执行
0 2 * * * /home/ubuntu/scripts/backup.sh

故障排除和调试

系统诊断

# 硬件信息
lshw -short
lscpu
lsmem
lsusb
lspci

# 内核信息
uname -a
dmesg | tail

# 磁盘信息
df -h
lsblk
sudo fdisk -l

性能问题诊断

# CPU 使用率
top
htop
sar -u 1 10

# 内存使用率
free -h
cat /proc/meminfo

# I/O 性能
iostat -x 1
iotop

网络问题诊断

# 网络连接
netstat -tuln
ss -tuln

# 网络配置
ip addr show
ip route show

用户管理功能

创建新用户并配置自动登录

Ubuntu 系统支持创建新用户并配置自动登录功能。以下是完整的配置步骤:

1. 创建新用户脚本 (new_user.sh):

#!/bin/bash
# 创建新用户 `test`,设置默认 shell 为 `/bin/bash`,并创建家目录
useradd -G sudo -m -s /bin/bash test

# 为用户 `test` 设置密码为 `test`
echo 'test:test' | chpasswd

# 将用户 `test` 添加到 `video` 和 `audio` 组,确保能够访问音视频设备
usermod -aG video test
usermod -aG audio test

2. 执行脚本:

# 为脚本授予执行权限
chmod +x new_user.sh

# 运行脚本
sudo ./new_user.sh

3. 配置自动登录 (LightDM):

# 编辑 LightDM 配置文件
sudo vi /etc/lightdm/lightdm.conf

# 在 [Seat:*] 部分添加或修改以下配置
[Seat:*]
autologin-user=test
autologin-user-timeout=0

# 重启显示管理器
sudo systemctl restart lightdm

用户��权限管理

查看用户组:

# 查看当前用户的组
groups

# 查看指定用户的组
groups username

# 查看所有系统组
cat /etc/group

将用户添加到特定组:

# 将用户添加到 sudo 组(管理员权限)
sudo usermod -aG sudo username

# 将用户添加到 video 组(视频设备访问)
sudo usermod -aG video username

# 将用户添加到 audio 组(音频设备访问)
sudo usermod -aG audio username

# 网络测试
ping bing.com