linux - 如何关闭 Raspberry Pi 上的 USB screen session ?

标签 linux raspberry-pi tty gnu-screen baud-rate

我通常使用 GNU screen在服务器上打开虚拟终端,以便长时间运行的程序可以在我注销或断开连接时运行。我现在正在摆弄我附加了 Sparkfun OpenScale 的 Raspberry pi读出 load cell (用于测量我体重的体重秤)。

为了读出这个 OpenScale 板,我使用

连接到它
screen /dev/ttyUSB0 9600

然后我得到一个带有一些选项的终端程序:

Serial Load Cell Converter version 1.0
By SparkFun Electronics
No remote sensor found
System Configuration
1) Tare scale to zero [-23555]
2) Calibrate scale [-9649]
3) Timestamp [Off]
4) Set report rate [95]
5) Set baud rate [9600 bps]
6) Change units of measure [kg]
7) Decimals [1]
8) Average amount [1]
9) Local temp [Off]
r) Remote temp [Off]
s) Status LED [Off]
t) Serial trigger [Off]
q) Raw reading [Off]
c) Trigger character: [120]
x) Exit

这很好用,经过一些校准后我得到了很好的读数。问题是我不明白如何退出这个程序。如果您看到上面的菜单,您可能会认为我可以简单地按 x,但是这只会退出此菜单,然后您会进入测量值读取模式(它只会开始打印从秤上获得的重量) .如果我再次按下 x,它只会再次打开此菜单。

我尝试了很多方法来关闭它:

q
x
Ctrl + c
Ctrl + d
Esc
Backspace

我当然可以脱离 session (使用 Ctrl + a 然后按 d),然后终止 screen session ,但程序不会存储 tar 化为零。它正确地存储了校准,但不是零点,这使得读数完全错误,这让我每次重新启动时都需要 tar 到零。这就是为什么我认为正确退出程序可能会正确保存零点的原因。

有人知道正确退出该程序的方法吗?

最佳答案

由于您将 screen 用作串行设备的终端仿真器,除非串行设备本身将校准数据存储在某种 NVRAM 中,否则您可能需要在每次重置 Raspberry Pi 时运行重新校准。

我建议使用 -L 选项启动 screen 以将输出记录到文件中。校准例程完成后,您可以使用 Ctrl-a d 从 screen session 中分离。然而,日志文件应该随着被测量的权重而继续增长。

但是,如果您真的想退出 screen 以便另一个进程可以打开并从串行设备读取数据,那么您可以使用 Ctrl-a\。 screen 会提示你是否要退出,输入y退出。

关于linux - 如何关闭 Raspberry Pi 上的 USB screen session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44316150/

相关文章:

linux - 通过 Bash 从文本文件中删除空行,包括空格字符

linux - 内核栈和用户空间栈

linux - 如何根据最后一个单词PATH中的前两个字符对文件进行排序

python - 从 sensehas IMU 上的磁力计收集数据

python - Raspberry Pi : Using framebuffer image viewer (FBI), 有没有办法在不打开另一个 FBI 显示器的情况下更改图像?

linux - 获取 DIMM 和 CPU 插槽信息

raspberry-pi - 在没有startx的情况下在Raspberry Pi上显示GUI

Linux串口的正确初始化顺序

linux - 如何从控制台保存或长期查看 Linux 内核 BUG 消息?

go - 设置另一个进程的终端大小(ala `stty columns`)?