我正在通过SSH从Mac OS X中的终端应用程序连接到运行cygwin的桌面.我已经在cygwin端启动了屏幕并可以通过SSH会话连接到它.此外,我在.screenrc文件中有以下内容:
bindkey -k k1 select 1 # F1 = screen 1
bindkey -k k2 select 2 # F2 = screen 2
bindkey -k k3 select 3 # F3 = screen 3
bindkey -k k4 select 4 # F4 = screen 4
bindkey -k k5 select 5 # F5 = screen 5
bindkey -k k6 select 6 # F6 = screen 6
bindkey -k k7 select 7 # F7 = screen 7
bindkey -k k8 select 8 # F8 …Run Code Online (Sandbox Code Playgroud) 我使用VPN隧道连接到我的工作网络,然后使用SSH连接到运行cygwin的工作PC.登录后,我可以附加到屏幕会话,一切都很好.
现在,过了一段时间,我离开了我的电脑,迟早,VPN隧道超时了.每一端的SSH连接最终会超时,然后我最终回到我的计算机上做一些工作.从理论上讲,这应该只是重新启动VPN,通过SSH重新连接,然后运行"screen -r -d".
然而,显然当sshd守护进程在cygwin PC上超时时,它会使屏幕会话处于某种挂起状态.我可以通过在运行屏幕会话时单击cygwin bash shell窗口上的关闭框来重现类似的挂起状态.
一旦发生这种情况,有没有办法让屏幕会话恢复,这样我就不会丢失任何东西?
我非常喜欢nixos/nix的确定性,但是我无法理解为我的用途定制包的最佳方法.我使用该nixpkgs.config.packageOverrides属性的成功有限,但它很痛苦,我发现它失败的次数多于它的工作原理(例如我花了几周的时间试图覆盖我在稳定和不稳定的频道中拾取的虚拟盒版本,但它从未正常工作).
我的下一次尝试是克隆nixpkgs存储库并尝试直接修改表达式.如果我将克隆的路径添加到开头,我认为这会有效$NIX_PATH.但是,重建似乎并没有改变我的变化.我也尝试了https://nixos.org/wiki/Create_and_debug_nix_packages中nixos-rebuild -I $NIXPKGS switch描述的变体,但它也没有接受我的更改.
这种克隆方法是否可行?如果是这样,我做错了什么?