小编Vi.*_*Vi.的帖子

SSH 和陈旧会话中的稳定反向端口转发

使用 VPS 在 NAT 后转发端口:

for((;;)) { ssh -R 2222:127.0.0.1:22 vi@vi-server.org; sleep 10; }
Run Code Online (Sandbox Code Playgroud)

当连接以某种方式中断并且正在重新连接时。

Warning: remote port forwarding failed for listen port 2222
Linux vi-server.no-ip.org 2.6.18-92.1.13.el5.028stab059.3 #1 SMP Wed Oct 15 13:33:44 MSD 2008 i686
Run Code Online (Sandbox Code Playgroud)

我输入:

vi@vi-server:~$ killall sshd
Connection to vi-server.org closed by remote host.
Connection to vi-server.org closed.
Linux vi-server.no-ip.org 2.6.18-92.1.13.el5.028stab059.3 #1 SMP Wed Oct 15 13:33:44 MSD 2008 i686
vi@vi-server:~$ 
Run Code Online (Sandbox Code Playgroud)

现在可以了。

使这个自动化如何更简单?

ssh port-forwarding sshd

7
推荐指数
2
解决办法
7405
查看次数

如何告诉 X.org 重新加载输入设备模块?(在 Acer 笔记本电脑上解决挂起到内存崩溃的问题)

当 X.org 启动时,Synaptics 触摸板运行良好。但是当我移除模块时,/dev/input/mice即使触摸板再次可用,它也会回落并且不使用正常的驱动程序。

Xorg.0.log:
...
(二)XINPUT:添加扩展输入设备“Synaptics Touchpad”(类型:TOUCHPAD)
(--) Synaptics 触摸板:找到触摸板

# { rmmod psmouse && echo mem > /sys/power/state && modprobe psmouse; }

(WW) : 未指定设备,正在寻找一个...
(二):设置设备选项为“/dev/input/mice”
...

如何告诉 X.org 再次尝试它的 InputDevice(不重新启动 X 服务器)?

rmmod psmouse需要PS来防止 Acer Extensa 5220 在从挂起到内存恢复时崩溃。

更新:自己找到答案:xinput set-int-prop "Synaptics Touchpad" "Device Enabled" 8 1重新加载内核模块后重新加载触摸板。现在 suspend-to-ram 工作正常。

linux xorg touchpad

7
推荐指数
1
解决办法
8583
查看次数

使用进度条和速率限制在 GNU/Linux 中复制文件

在 GNU/Linux 中是否有任何好的工具可以复制文件,例如cp,但也可以显示进度和限制速度(并且不会中断更改限制),例如pv

原型:

find source_directory | cpio -H newc -o | pv -s `du -bs source_directory/ | awk '{print $1}'` | (cd /destination/directory && cpio -di)
Run Code Online (Sandbox Code Playgroud)

另外rsync -aP source_directory /destionation/directory/,但这会单独显示进度条,并且在启动后无法更改速率。

或者我应该为 pv/cpio 编写一个包装器?完毕。

linux file-management cpio cp

7
推荐指数
1
解决办法
1万
查看次数

如何故意为传入的 UDP 数据包引入延迟

我希望每个数据包(匹配 iptables 规则)延迟某个固定时间间隔。这怎么办?

前置码: iptables -A INPUT -p udp <more conditions> -j DELAY --delay 50000 # delay UDP packets for 50 milliseconds

更新: @related在 Linux 上模拟低带宽、高延迟的网络连接

networking linux iptables udp traffic-shaping

7
推荐指数
1
解决办法
9604
查看次数

是否可以预加载 JVM 以更快地启动小的一次性 Java 应用程序?

预期算法:

  1. 您在没有实际应用程序的情况下启动 JVM(只告诉它加载一些 jar),它加载并侦听套接字并在后台等待。
  2. 当您启动应用程序 ( preloaded_java -cp /usr/share/java/....jar:. qqq.jar) 时,它会连接到现有加载的 JVM,加载其他 jar(如果有)并执行主类。
  3. preloaded_java 只是路由输入和输出并处理中断等。

更新实施了概念证明:http : //vi-server.org/vi/code/prejvm/

$ clojure prejvm.clj&
[1] 2883
$ nc 127.0.0.1 7711 <<< '{"mainclass" "test.Hello"}'
$ nc 127.0.0.1 7712
java.lang.ClassNotFoundException: test.Hello
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    ...
    at clojure.main.main(main.java:37)

$ nc 127.0.0.1 7711 <<< '{"classpaths" ["file:///home/vi/code/prejvm/"], "mainclass" "test.Hello"}'    
$ nc 127.0.0.1 7712
Hello, world; number of args is 0
qwe q e32e qda
qwe q e32e qda

$ nc 127.0.0.1 7711 <<< '{"classpaths" ["file:///home/vi/code/prejvm/"], "mainclass" …
Run Code Online (Sandbox Code Playgroud)

java jvm

7
推荐指数
1
解决办法
2855
查看次数

使用 CUSE(用户空间中的字符)的程序在哪里?

cusexmp,CUSE 程序的例子,工作。

是否有真正的程序使用它?

例如,仅反映其他字符设备的事物或允许联网字符设备的事物。

linux fuse

7
推荐指数
1
解决办法
2781
查看次数

Linux 中更强大的 notebook_mode

我可以在 Linux 中使用更强的笔记本电脑模式吗?

我想关闭硬盘驱动器并防止它旋转,即使有些东西想要读取不在缓存中的东西。一般来说,我想要这些模式:

  1. 普通的
  2. 当前笔记本模式
  3. 更强大的笔记本电脑模式:仅在需要读取未缓存的内容(并缓存它)时才启动。除非真的有内存压力,否则不能写一些东西(例外:控制台中的显式“同步”命令)。为此,内核可以将进程保持在 D-sleep 状态 10 秒钟。
  4. 强制笔记本电脑模式:不启动,期间。除非我关闭此模式,否则请继续在 D-sleep 中进行违规进程。就像有一个炸弹而不是硬盘。

我还想跟踪访问时间(mount -o atime),但我不希望硬盘驱动器只是为了更新它们而旋转。

是否有一些设置或内核补丁可以更接近于此?

可能我应该为“强制笔记本电脑模式”编写特殊的 io 调度程序吗?例如echo suspend > /sys/block/sda/queue/scheduler锁定驱动器并echo cfq > /sys/block/sda/queue/scheduler再次解锁?

linux laptop hard-drive kernel power-management

6
推荐指数
1
解决办法
309
查看次数

Socat 和富终端(使用 Ctrl+C/Ctrl+Z/Ctrl+D 传播)

socat - exec:'bash -li',pty,stderr,ctty -> bash: no job control in this shell

在使用 ssh/sshd 时,我应该使用哪些选项来获得完全成熟的 shell?

我希望能够将 shell 连接到 socat 可以处理的所有内容(SOCKS 5、UDP、OpenSSL),而且还有一个漂亮的 shell 可以正确解释所有键、各种Ctrl+ C/ Ctrl+ Z、制表符完成、向上/向下键(带有远程历史)。

  • 更新 1:找到“setsid” socat 选项。它修复了“无工作控制”。现在试图修复Ctrl+ D

  • 更新 2:

    socat 文件:`tty`,raw,echo=0 exec:'bash -li',pty,stderr,setsid,sigint,sane
    . 不是它处理Ctrl+ D/ Ctrl+ Z/ Ctrl+C好,我可以在里面启动 Vim,远程历史记录是可以的。

linux bash tty job-control

6
推荐指数
1
解决办法
4384
查看次数

如何命名 /etc/apt/sources.list.d/ 中的文件以在没有警告的情况下被忽略?

N: Ignoring file 'cloudera.list_' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
N: Ignoring file 'opera.list_' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
...
N: Ignoring file 'tor.list_' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
Run Code Online (Sandbox Code Playgroud)

如何正确地“注释掉”那里的文件?

debian repository aptitude

6
推荐指数
1
解决办法
1万
查看次数

如何在 GNU/Linux 上很好地查看和搜索 SVG?

已经有一些或多或少通用的(例如 Gnome 之眼)和专门的(rsvg-display)查看器可以在 Linux 上运行。然而,我发现它们还不够好,尤其是对于观看像这样的大东西来说。

是否有满足以下条件的 SVG 查看器:

  • 方便的缩放和平移;
  • 在 svg 中搜索文本;
  • 快速:缩放/平移时为粗略模式,稳定时为精细模式;当只有部分图像可见时避免完全渲染;缓存;
  • 很高兴拥有:类似 FireBug 的调试器。

我尝试了以下方法:

  • rsvg-display:不方便缩放,速度不快,无法搜索;
  • inkview:太简单,没有缩放,没有搜索;
  • firefox:尽管可以缩放常规图片,但无法缩放 SVG;
  • eog:在查看之前进行光栅化,速度慢,无需搜索;
  • gpicview:在查看之前进行光栅化,足够快;缩放不方便,无法搜索;

linux svg

6
推荐指数
1
解决办法
3392
查看次数