飞牛NAS图灵智显版小主机屏幕驱动详细教程

2025-12-01 11:35:55 1点赞 6收藏 1评论

飞牛系统开机自启+虚拟环境版完整部署流程

图文为购买设备粉丝提供 教程所有权 @Smoke

飞牛NAS图灵智显版小主机屏幕驱动详细教程

最早我是按照教程:

https://club.fnnas.com/forum.php?mod=viewthread&tid=42152

以及Github上面的主程序来设置的:https://github.com/mathoudebine/turing-smart-screen-python

但是,教程并没有说明在安装的时候出现的问题。实际上,这个教程不是很可靠,没有说明在全局python环境的诸多限制(比如要绕过绕过系统的 PEP 668 限制),导致有的时候程序是无法运行的。有人还在咸鱼上问我怎么搞,后来专门找了块时间来弄一弄,发现真的挺麻烦。不过既然搞过了,想着就把该填的坑填一下,也方便其他人少踩坑少走弯路。

我是将程序下载到home目录,即/home/turing-smart-screen-python。在步骤2的时候,安装环境依赖最好挂个梯子,否则很有可能安装失败。以下内容已适0.9.3系统测试完毕,包含问题修复和避坑点:

飞牛NAS图灵智显版小主机屏幕驱动详细教程

一、推荐工具

所有支持SSH的工具都可以,我是用MobaXterm。先到飞牛设置- SSH打开SSH功能。

获取系统权限:执行sudo -i命令并再次输入管理员密码,即可切换至root用户。

二、完整部署步骤

步骤 1:创建并激活 Python 虚拟环境(隔离依赖)

# 安装虚拟环境依赖(若未安装)

apt update && apt install -y python3-venv python3-full bash dos2unix

# 进入项目目录

cd /home/turing-smart-screen-python

# 创建虚拟环境(命名为turing-venv)

python3 -m venv turing-venv

# 激活虚拟环境

source turing-venv/bin/activate

激活后终端前缀会显示(turing-venv),表示进入虚拟环境。

步骤 2:安装项目依赖

# 虚拟环境内安装

requirements.txt依赖

pip install -r requirements.txt

# 退出虚拟环境(后续由脚本自动激活)

deactivate

步骤 3:创建启动脚本(解决换行符 / 路径问题)

# 删除可能存在的旧脚本(避免残留问题)

rm -f /home/turing-smart-screen-python/start_turing.sh

# 新建启动脚本(纯Linux格式,路径绝对正确)

cat > /home/turing-smart-screen-python/start_turing.sh << EOF

#!/usr/bin/bash

# 定义虚拟环境和项目路径(绝对路径,不可改~)

VENV_PATH="/home/turing-smart-screen-python/turing-venv"

PROJECT_PATH="/home/turing-smart-screen-python"

# 激活虚拟环境 + 运行主程序(.代替source,兼容所有bash)

. ${VENV_PATH}/bin/activate

cd ${PROJECT_PATH}

python3 main.py

EOF

# 添加可执行权限

chmod 755 /home/turing-smart-screen-python/start_turing.sh

# 转换为Linux换行符(清除Windows的r)

dos2unix /home/turing-smart-screen-python/start_turing.sh

步骤 4:创建 systemd 服务(开机自启核心)

# 新建服务文件

nano /etc/systemd/system/turing-screen.service

粘贴以下内容:

[Unit]

Description=Turing Smart Screen Auto Start

After=network.target

Wants=network.target

[Service]

Type=simple

User=root

WorkingDirectory=/home/turing-smart-screen-python# 用系统bash显式调用脚本(避免shebang解析问题)

ExecStart=/usr/bin/bash /home/turing-smart-screen-python/start_turing.sh

Restart=on-failure # 程序崩溃自动重启

RestartSec=5 # 重启间隔5秒

StandardOutput=journal+console # 日志输出到系统日志

[Install]

WantedBy=multi-user.target

保存退出:Ctrl+O → 回车 → Ctrl+X。

步骤 5:启用并测试服务

# 重新加载systemd配置

systemctl daemon-reload

# 设置开机自启

systemctl enable turing-screen.service

# 启动服务(测试运行)

systemctl start turing-screen.service

# 查看服务状态(正常显示active (running))

systemctl status turing-screen.service

到这儿设置就结束了,这种方法百分百成功,不会有任何问题。

三、常用命令

功能命令

启动服务

systemctl start turing-screen.service

停止服务

systemctl stop turing-screen.service

重启服务

systemctl restart turing-screen.service

关闭开机自启

systemctl disable turing-screen.service

查看实时日志(排错)

journalctl -u turing-screen.service -f

检查服务是否自启

systemctl is-enabled turing-screen.service

手动运行脚本(测试)

/usr/bin/bash /home/turing-smart-screen-python/start_turing.sh

四、常见问题修复(避坑指南)

1.报错:cannot execute: required file not found

a. 原因:脚本 shebang 路径错 / 换行符问题;

b. 修复:步骤 3 已用/usr/bin/bash+dos2unix解决,无需额外操作。

2.报错:$'r': command not found

a. 原因:脚本有 Windows 换行符;

b. 修复:执行dos2unix 脚本路径。

3.报错:/xxx/activate: No such file or directory

a. 原因:虚拟环境路径写错 / 截断;

b. 修复:确认VENV_PATH是绝对路径,且目录存在(ls /home/turing-smart-screen-python/turing-venv/bin/activate)。

4.服务状态显示 failed

a. 排查:执行journalctl -u turing-screen.service -f看实时日志,常见原因:main.py 路径错(比如实际是examples/4.0inch.py,需改脚本里的python3 main.py);

i. 串口权限不足:执行usermod -aG dialout root,重启服务;

ii. 依赖缺失:重新激活虚拟环境source turing-venv/bin/activate,执行pip install -r requirements.txt。

5.报错 OSError: [Errno 13] Permission denied: '/dev/ttyACM0' 等等类似的情况。

一般这种错误是是用全局环境出现的权限被拒绝的错误,建议用虚拟环境的方法来进行设置,也就是教程里的方法。如果你非要是用全局环境来设置,尝试:

a. 将文件权限更改为具有读写权限

sudo chmod 666 /dev/ttyACM0

b. 在 /etc/udev/rules.d 目录下创建一条规则,用于设置设备的权限。

sudo vi /etc/udev/rules.d/turing-rules

添加以下代码行并保存:

KERNEL==”ttyACM0″, MODE=”0666″

c. 重启NAS

shutdown -r now

还不行的话,你就自生自灭吧。

五、关键注意事项

1. 所有路径必须用绝对路径(不可用~代替/home/xxx);

2. 虚拟环境创建后不可移动目录,否则路径失效;

3. 若屏幕型号非默认,需修改脚本里的python3 main.py为对应型号脚本(如python3 examples/5.0inch.py);测试时先手动执行/usr/bin/bash /home/turing-smart-screen-python/start_turing.sh,确认程序能运行再配置服务;

4. 系统需安装 bash(which bash输出/usr/bin/bash),否则执行apt install bash。

至此,这块屏幕就是自动运行状态了,飞牛重启,屏幕也会自动亮起。该流程已规避所有踩过的坑(换行符、shebang 路径、权限、路径截断等),按步骤执行即可实现开机自动运行(屏幕的主题是你设置过的默认主题,更换主题后,按照上面的命令重启服务即可),无需手动操作。

展开 收起
1评论

  • 精彩
  • 最新
  • 上面主机3d打印哪里可以看

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
6
扫一下,分享更方便,购买更轻松