AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 570219
Accepted
nmz787
nmz787
Asked: 2020-02-29 03:28:42 +0800 CST2020-02-29 03:28:42 +0800 CST 2020-02-29 03:28:42 +0800 CST

如何减慢将文本粘贴到串行终端的速度?

  • 772

我正在研究树莓派,并试图将一些文本文件粘贴到命令行文本编辑器nano中……但文本最终在远程端损坏(部分/不完整的文本)。我只能猜测我的PC(xubuntu 16.04)的粘贴功能推送数据太快(串行波特率为115200)。

我可以以某种方式减慢粘贴功能吗?

raspberry-pi clipboard
  • 2 2 个回答
  • 1633 Views

2 个回答

  • Voted
  1. Best Answer
    nmz787
    2020-02-29T04:15:41+08:002020-02-29T04:15:41+08:00

    我发现它screen有一个slowpaste功能! https://gist.github.com/jandahl/8436cd6a99d56efd9ff4

    1. 安装屏幕

    2. 如果没有,请制作一个 .screenrc 文件:


    startup_message off
    
    hardstatus alwayslastline
    hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
    
    defslowpaste 20 ## It is the value to the left that is the central one for your happiness
    
    • 如果你已经有了,.screenrc那么只需添加最后一行: defslowpaste 20

    1. 使用适当的串行端口启动屏幕(树莓派,第一代,默认为 115200 波特): screen /dev/ttyUSB3 115200

    2. 玩得开心!

    • 1
  2. mosvy
    2020-03-02T03:23:08+08:002020-03-02T03:23:08+08:00

    我只能猜测我的PC(xubuntu 16.04)的粘贴功能推送数据太快(串行波特率为115200)。

    这种假设是错误的。终端驱动程序将始终使用配置的波特率从其输出队列中写入数据,并且write(2)终端将返回一个短计数,或者如果输出队列中没有更多空间则阻塞(或者不是阻塞,而是返回-1,如果终端设置errno为EAGAIN非阻塞模式,则设置为)。串行驱动程序不会“调整”波特率以适应它必须推送的数据量。

    您可以轻松测试是否有两台可以通过串行线连接的机器(或者您可以将同一台机器连接到自身,例如 2 个 USB-> 串行适配器、两个通过零调制解调器电缆连接的串行端口等)。

    例如。如果/dev/ttyUSB0机器 A 连接到/dev/ttyUSB1机器 B:

    在机器 A 上:

    # stty -F /dev/ttyUSB0 speed 50 raw; cat /dev/ttyUSB0
    

    在机器 B 上:

    stty -F /dev/ttyUSB1 speed 50 raw opost onlcr; cat >/dev/ttyUSB1
    <paste>
    

    现在,在 machine 的命令行中粘贴一些大文本B,并在 machine 上以每秒约 5 个字符的速度很好地看到它A。

    真正的问题是 brogrammers 忽略退出状态write(2)或假设虽然它可以返回错误,但它永远不会返回少于所需的计数。解决方案是修复或停止使用他们的垃圾,而不是使用既不可靠也不非常有效的创可贴。

    此外,如果电缆/连接不良/嘈杂,则必须降低波特率,否则数据将变成二进制垃圾,并且某些串行适配器可能会硬锁定并且必须重置。

    如果其中一个设备无法处理其标称波特率,并且不支持任何类型的硬件或软件流控制 (xon/xoff),则也应降低波特率。

    • 1

相关问题

  • vwdial RPI 上的错误初始化字符串 [关闭]

  • 如何清理复制/粘贴缓冲区?

  • 如何从家里的树莓派服务器自动更新 Route53?

  • /etc/init.d/hostname.sh 仍然是 debian 拉伸的选项吗?

  • “pacman -Syu”“可能”破坏了我的系统,因为未安装引导

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve