![如何从另一台机器控制交互式 shell(例如 vim)?](https://linux22.com/image/133422/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%BA%E5%99%A8%E6%8E%A7%E5%88%B6%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%EF%BC%88%E4%BE%8B%E5%A6%82%20vim%EF%BC%89%EF%BC%9F.png)
我的问题是:我的蓝牙键盘无法与我的新 Android 手机(大屏幕)配合使用,但可以与我的旧 Android 手机(小屏幕)配合使用。
因此,我想将键盘连接到我的旧手机,并将其击键流传输到我的新手机;在那里打字,看这里。
我还希望实际的会话和文件位于新手机上 - 但我想这不是必需的。它们可能位于旧手机上,并且只有显示屏被镜像/投射到新手机上。
对我来说:
如何将输入从一个 shell 传输到另一个 shell
如何将输入从一台机器传输到另一台机器
我尝试过:tmux
通过 wifi 进行屏幕镜像,但延迟太高。
我主要使用 vim,所以使用它也可以。
蓝牙的延迟会比 WiFi 低吗?您可以同时拥有键盘和蓝牙热点吗?不知道如何设置蓝牙连接,我猜测延迟在其他地方,可能在tmux
.
看起来,当两台设备并排放置时,获得低延迟应该很容易......
有任何想法吗?
顺便说一句:我已经放弃连接 kb 和新手机了;并且不愿意恢复出厂设置。我可以获得一个新的知识库,但我喜欢这个。
答案1
然后我们ssh
共享一个tmux
会话,这样我们就可以在旧手机上打字并在新手机上查看。
蓝牙热点的延迟比 WiFi 热点低得多。滞后通常是难以察觉的。
蓝牙键盘将连接到旧手机。
蓝牙热点在新机器上设置蓝牙热点(Android 5.1
Settings->More->tethering and portable hotspot->bluetooth tethering
:);在旧机器上标记“互联网共享”(设置->蓝牙->新手机名称右侧的图标->use for: internet connection sharing
)注意:您实际上并没有在线;它也适用于飞行模式SSH在新手机上,启动 ssh 守护进程
sshd -D -p 8080
;在旧手机上,使用 进行连接ssh ssh://192.168.44.1:8080
。但如果旧手机是热点,请使用 连接到客户端ssh ssh://192.168.44.40:8080
。寻址方式为:ssh://192.168
.44
蓝牙.40
热点.1
客户
注意:-D
保持sshd
在前台,以便您可以使用 退出它^C
。否则,您必须使用ps aux |grep sshd
和it找到其作业 ID kill
。可能有更好的方法来做到这一点。
tmux 连接在新手机上的新终端中,设置您的
tmux
会话(例如tmux
)。在旧手机上的 ssh 会话中,使用 附加到 tmuxtmux attach
。现在两部手机都连接到同一个tmux
会话,因此输入任一手机都会出现在两部手机中。蓝牙键盘在旧手机上,连接蓝牙键盘。现在我们可以在旧手机的蓝牙键盘上打字,并在新手机上查看。把旧手机收起来,键盘就像连接到新手机上一样。
注意:tmux
忽略额外的行和/或列以匹配连接的终端 - 这就是为什么您可能会在右侧/底部看到额外行/列的阴影。不同的显示尺寸、字体大小或方向(纵向/横向)可能会导致这种情况。为了避免这种情况:在旧手机上,减小字体,直到它比新手机有更多的行和列(因此任何额外的内容都在旧手机上)。要在 中执行此操作termux
,请使用ctrl alt -
或捏合缩放(两根手指向彼此移动):
https://termux.com/hardware-keyboard.html
问题:感觉就像您在使用新手机,但实际上仅适用于该tmux
会话。例如,旧手机上的其他按键操作:
termux
字体大小;termux
创建/切换会话;安卓HOME键; Android 应用程序切换 ( ctrl-TAB
)。一种奇怪的体验是手机在您打字时进入睡眠状态,因为它的输入设备未被使用。
有时似乎还会出现断开连接的问题。我刚刚尝试过,但我希望所有这些问题都是标准问题
tmux
或ssh
蓝牙热点问题。