Debian Bullseye Desktop/zh
Contents
- 1 Debian11 桌面系统的使用
- 1.1 Debian11桌面系统简介
- 1.2 帐户与密码
- 1.3 查看IP地址
- 1.4 通过ssh登录Debian
- 1.5 更新软件包
- 1.6 安装x11vnc远程桌面
- 1.7 安装内核头文件
- 1.8 更改时区
- 1.9 更换开机LOGO和桌面墙纸
- 1.10 开机自动启动程序(例如Kodi)
- 1.11 取消USB存储设备自动挂载
- 1.12 设置中文语言与输入法
- 1.13 安装Plex多媒体服务器
- 1.14 在Debian系统上安装Docker
- 1.15 如何测试NPU
- 1.16 设置WiFi无线链接
- 1.17 取消自动登录
- 1.18 测试OpenGL ES性能
- 1.19 设置HDMI/DP屏幕分辨率
- 1.20 设置HiDPI屏幕缩放
- 1.21 调节HDMI边界
- 1.22 Chromium网页浏览器
- 1.23 测试mpp视频硬件编码
- 1.24 HDMI-IN的使用
1 Debian11 桌面系统的使用
1.1 Debian11桌面系统简介
Debian11 Desktop 是一个轻量级的Debian桌面环境,具有如下特点:
- 桌面环境采用 Xfce, Xfce 是一个快捷的、轻量级的,功能齐全的桌面环境;
- 提供基于 Mali GPU 的 OpenGL 支持;
- 支持Rockhip MPP视频硬编和硬解码;
- 预装基于mpv的SMPlayer播放器, 支持视频硬解码;
- 预装Chromium浏览器, 支持vpu/gpu硬件加速 (视频硬解限h264/mp4格式);
- 支持安装Plex Server, Docker与wps等应用, 玩法丰富;
1.2 帐户与密码
普通用户:
用户名: pi
密码: pi
Root用户:
默认没有设置root密码,可通过sudo passwd root命令配置root密码
1.3 查看IP地址
由于Debian主机名默认为硬件型号, 所以可以使用ping命令来获得IP地址: ping NanoPC-T6
1.4 通过ssh登录Debian
使用以下命令:ssh pi@NanoPC-T6
默认密码为pi
1.5 更新软件包
1.5.1 更换软件源为国内镜像源
sudo sed -i -e 's/deb.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list sudo sed -i -e 's/security.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list sudo apt update
1.6 安装x11vnc远程桌面
x11vnc是一个VNC服务器, 安装后我们可以不依赖外部的显示设备, 通过网络远程登录Debian桌面。
1.6.1 安装x11vnc
sudo apt-get install x11vnc
1.6.2 设置VNC登录密码
sudo x11vnc -storepasswd /etc/x11vnc.pwd
1.6.3 设置x11vnc在开机时自动启动
新建如下文件:
sudo vi /lib/systemd/system/x11vnc.service
内容如下:
[Unit] Description=Start x11vnc at startup. Requires=display-manager.service After=syslog.target network-online.target Wants=syslog.target network-online.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -display :0 -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pwd -rfbport 5900 -shared -capslock -nomodtweak ExecStop=/usr/bin/x11vnc -R stop Restart=on-failure [Install] WantedBy=multi-user.target
设置systemd服务:
sudo systemctl daemon-reload sudo systemctl enable x11vnc.service sudo systemctl start x11vnc
1.6.4 测试远程桌面
在电脑上启动VNC客户端软件, 在地址栏输入: IP地址:5900 连接即可, 效果如下图所示, 图中设备IP地址为192.168.1.123, 使用端口5900进行连接:
1.7 安装内核头文件
sudo dpkg -i /opt/linux-headers-*.deb
测试编译内核模块:
sudo apt update sudo apt install git gcc make bc git clone https://github.com/RinCat/RTL88x2BU-Linux-Driver.git cd RTL88x2BU-Linux-Driver make -j$(nproc) sudo make install sudo modprobe 88x2bu
1.8 更改时区
1.8.1 检查当前时区
timedatectl
1.8.2 列出所有时区
timedatectl list-timezones
1.8.3 设置时区 (比如上海)
sudo timedatectl set-timezone Asia/Shanghai
1.9 更换开机LOGO和桌面墙纸
1.9.1 更换开机LOGO
替换内核下面的两个文件,重新编译内核:
kernel/logo.bmp
kernel/logo_kernel.bmp
或者使用脚本来操作,如下所示:
- 下载脚本
git clone https://github.com/friendlyarm/sd-fuse_rk3588.git -b kernel-6.1.y --single-branch cd sd-fuse_rk3588
- 编译内核并重新打包固件
convert files/logo.jpg -type truecolor /tmp/logo.bmp convert files/logo.jpg -type truecolor /tmp/logo_kernel.bmp sudo LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh debian-bullseye-desktop-arm64 sudo ./mk-sd-image.sh debian-bullseye-desktop-arm64 sudo ./mk-emmc-image.sh debian-bullseye-desktop-arm64
注: 如果你的系统不是debian-bullseye-desktop-arm64,请根据实际情况指定
1.9.2 更换桌面墙纸
修改如下配置文件:
/home/pi/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
1.9.3 恢复出厂设置
在终端上执行如下命令:
sudo firstboot && sudo reboot
1.10 开机自动启动程序(例如Kodi)
把要开机启动的程序的desktop文件放入~/.config/autostart/目录即可,例如:
mkdir ~/.config/autostart/ cp /usr/share/applications/kodi.desktop ~/.config/autostart/
1.11 取消USB存储设备自动挂载
sudo systemctl mask udisks2 sudo reboot
1.12 设置中文语言与输入法
1.12.1 设置中文语言
输入以下命令,用空格选中 'zh_CN.UTF-8'
sudo dpkg-reconfigure locales
添加环境变量到 .bashrc:
echo "export LC_ALL=zh_CN.UTF-8" >> ~/.bashrc echo "export LANG=zh_CN.UTF-8" >> ~/.bashrc echo "export LANGUAGE=zh_CN.UTF-8" >> ~/.bashrc
重启确认一下设置是否生效:
sudo reboot
1.12.2 安装中文输入法
输入如下命令安装fcitx和拼音输入法:
sudo apt update sudo apt-get install fcitx fcitx-pinyin sudo apt-get install im-config sudo apt-get install fcitx-table* sudo apt-get install fcitx-ui-classic fcitx-ui-light sudo apt-get install fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt4 sudo apt-get remove --purge scim* ibus* sudo reboot
重启后, 按Ctrl+Space即可切换中英文输入法, 右上角也出现了输入法图标, 右击右上角的输入法图标, 在弹出菜单中可以切换输入法, 如下图所示:
1.13 安装Plex多媒体服务器
访问 Plex官网的如下地址: https://www.plex.tv/media-server-downloads/
在下载页面上, 选择 ”Plex Media Server” 分类, 平台选择 ”Linux“, 版本选择 "Ubuntu(16.04+)/Debian(8+) - ARMv8",
下载得到deb包后, 使用 dpkg 命令安装软件包即可:
sudo dpkg -i plexmediaserver_1.31.0.6654-02189b09f_arm64.deb
安装完成后, 在电脑浏览器上输入以下地址登录Plex服务器后台: http://IP地址:32400/web/
1.14 在Debian系统上安装Docker
请参考此链接: How to Install Docker on Debian/zh
1.15 如何测试NPU
请参考此链接: NPU/zh
1.16 设置WiFi无线链接
1.16.1 图形界面操作
点击右上角的网络图标,选择你要连接的WiFi热点,按界面提示操作即可。
1.16.2 命令行操作
请参考 Use NetworkManager to configure network settings/zh
1.17 取消自动登录
编辑文件:
sudo vim /etc/lightdm/lightdm.conf
注释掉如下两行内容 (在前面插入#):
autologin-user=pi
autologin-user-timeout=0
1.18 测试OpenGL ES性能
在系统菜单 System Tools 中点击 Terminator 打开命令行终端,输入以下命令即可测试:
glmark2-es2
1.19 设置HDMI/DP屏幕分辨率
进入系统菜单 Settings -> Display界面进行设置即可。
1.20 设置HiDPI屏幕缩放
Xfce支持HiDPI缩放,可以使用设置管理器启用: 进入Settings Manager > Appearance > Settings > Window Scaling,选择2作为缩放系数。
或者编辑文件 ~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
1.21 调节HDMI边界
打开命令行终端,输入命令进行操作,有几个注意事项:
1) 需要登录桌面才能操作,如果Desktop停留在Login是无法设置的;
2) 如果你是在 ssh 登录的终端,请使用与桌面登录相同的用户名,默认是 pi,不能使用root用户,同时,你需要赋值 DISPLAY 变量:
export DISPLAY=:0.0
1.21.1 查询显示器支持哪些分辨率
xrandr -q
输出示例:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192 eDP-1 disconnected primary (normal left inverted right x axis y axis) HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1920x1080 60.00*+ 50.00 1280x720 60.00 50.00 720x576 50.00 720x480 59.94
1.21.2 设置分辨率
例如设置为 1920X1080@60Hz:
xrandr --output HDMI-1 --mode 1920x1080 --refresh 60
1.21.3 设节HDMI输出边界
For example, the transformation scaling horizontal coordinates by 0.8, vertical coordinates by 1.04 and moving the screen by 35 pixels right and 19 pixels down:
xrandr --output HDMI-1 --transform 0.80,0,-35,0,1.04,-19,0,0,1
1.21.4 开机自动调整
编辑~/.config/autostart/lxrandr-autostart.desktop,将完整的xrandr命令写入到Exec=开头的键中,如下所示:
[Desktop Entry] Type=Application Name=LXRandR autostart Comment=Start xrandr with settings done in LXRandR Exec=sh -c 'xrandr --output HDMI-1 --mode 1920x1080 --refresh 50 --transform 1.04,0,-35,0,1.05,-30,0,0,1'
1.22 Chromium网页浏览器
1.22.1 GPU支持情况
系统预装的Chromium网页浏览器已经默认启用硬件加速,支持WebGL,可以通过输入网址 chrome://gpu 了解硬件加速情况,如下图所示:
1.22.2 VPU支持情况
在浏览器上播放一个视频,然后在命令行使用fuser查看mpp设备节点的使用情况来确认已经调用了vpu:
pi@FriendlyElec:~$ fuser /dev/mpp_service /dev/mpp_service: 3258
如果fuser命令没有内容输出, 则表示当前是软解.
1.22.3 查看支持的硬解格式
在浏览器地址栏输入 about://gpu,翻页到页面最底部,查看 "Video Acceleration Information" 表格;
播放一个视频后,再在浏览器地址栏输入 about://media-internals, 可以查看最近播放的视频是否启用了硬解;
1.23 测试mpp视频硬件编码
mpi_enc_test -w 1920 -h 1080 -t 7 -f 0 -o test.h264 -n 300 export XDG_RUNTIME_DIR=/run/user/0 ffplay test.h264
1.24 HDMI-IN的使用
1.24.1 使用脚本
debian集成了hdmirx_preview.sh测试脚本,直接运行该脚本即可:
pi@NanoPC-T6:~$ hdmirx_preview.sh
脚本路径: /usr/local/bin/hdmirx_preview.sh
请留意,只有NV12格式才能达到最佳性能。
1.24.2 使用V4L2命令
HDMI-IN 设备的节点为:/dev/video0,可以通过v4l2的命令来操作它。
- 获取设备信息
pi@NanoPC-T6:~$ v4l2-ctl -d /dev/video0 -V -D Driver Info: Driver name : rk_hdmirx Card type : rk_hdmirx Bus info : fdee0000.hdmirx-controller Driver version : 5.10.110 Capabilities : 0x84201000 Video Capture Multiplanar Streaming Extended Pix Format Device Capabilities Device Caps : 0x04201000 Video Capture Multiplanar Streaming Extended Pix Format Format Video Capture Multiplanar: Width/Height : 3840/2160 Pixel Format : 'NV12' (Y/CbCr 4:2:0) Field : None Number of planes : 1 Flags : premultiplied-alpha, 0x000000fe Colorspace : Unknown (0x11507070) Transfer Function : Unknown (0x000000b8) YCbCr/HSV Encoding: Unknown (0x000000ff) Quantization : Default Plane 0 : Bytes per Line : 3840 Size Image : 12441600
- 查看当前连接的设备的分辨率与图像格式
pi@NanoPC-T6:~$ v4l2-ctl -d /dev/video0 --get-fmt-video Format Video Capture Multiplanar: Width/Height : 3840/2160 Pixel Format : 'NV12' (Y/CbCr 4:2:0) Field : None Number of planes : 1 Flags : premultiplied-alpha, 0x000000fe Colorspace : Unknown (0x1193b008) Transfer Function : Unknown (0x000000b8) YCbCr/HSV Encoding: Unknown (0x000000ff) Quantization : Default Plane 0 : Bytes per Line : 3840 Size Image : 12441600
- 获取一帧图像
pi@NanoPC-T6:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=3840,height=2160,pixelformat='NV12' \ --stream-mmap=4 --stream-skip=10 --stream-to=/home/pi/4k_nv12.yuv --stream-count=1 \ --stream-poll
- 预览图像
使用ffplay:
ffplay -f rawvideo -video_size 3840x2160 -pixel_format nv12 4k_nv12.yuv
使用mpv:
mpv 4k_nv12.yuv --demuxer=rawvideo --demuxer-rawvideo-w=3840 --demuxer-rawvideo-h=2160 \ --demuxer-rawvideo-mp-format=nv12 --demuxer-rawvideo-fps=60
- 查看HDMI-IN音频设备
pi@NanoPC-T6:~$ cat /proc/asound/card* 0 [rockchipdp0 ]: rockchip_dp0 - rockchip,dp0 rockchip,dp0 1 [rockchiphdmi0 ]: rockchip_hdmi0 - rockchip,hdmi0 rockchip,hdmi0 2 [realtekrt5616co]: realtek_rt5616- - realtek,rt5616-codec realtek,rt5616-codec 3 [rockchiphdmi1 ]: rockchip_hdmi1 - rockchip,hdmi1 rockchip,hdmi1 4 [rockchiphdmiin ]: rockchip_hdmiin - rockchip,hdmiin rockchip,hdmiin
可以看到,rockchiphdmiin的声卡号为4
- 录制音频(录制10秒)
pi@NanoPC-T6:~$ arecord -D hw:4,0 -f cd test.wav -d 10
- 回放所录制的音频(输出到HDMI0)
pi@NanoPC-T6:~$ aplay test.wav -D 'hw:rockchiphdmi0'
1.24.3 使用GStreamer
- 实时预览
pi@NanoPC-T6:~$ export DISPLAY=:0.0 pi@NanoPC-T6:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=3840,height=2160,framerate=60/1 \ ! queue ! xvimagesink
- 音视频录制
pi@NanoPC-T6:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=3840,height=2160,framerate=60/1 \ ! queue ! mpph265enc ! h265parse ! queue ! mux. alsasrc device=hw:CARD=rockchiphdmiin ! audio/x-raw,channels=2 \ ! audioconvert ! voaacenc ! queue ! mux. matroskamux name=mux ! filesink location="4kp60.mkv"
- 实时预览+音视频录制
pi@NanoPC-T6:~$ export DISPLAY=:0.0 pi@NanoPC-T6:~$ gst-launch-1.0 -e v4l2src device=/dev/video0 ! 'video/x-raw,format=NV12,width=3840,height=2160' \ ! tee name=t t. ! mpph265enc bps=20000000 bps-max=40000000 rc-mode=vbr ! h265parse ! mp4mux name=mux \ ! filesink location=4k60.mp4 alsasrc device=hw:CARD=rockchiphdmiin ! opusenc ! mux. t. ! queue leaky=1 ! autovideosink sync=false