相关疑难解决方法(0)

在远程 X 显示器上打开一个窗口(为什么“无法打开显示器”)?

曾几何时,

DISPLAY=:0.0 totem /path/to/movie.avi
Run Code Online (Sandbox Code Playgroud)

从我的笔记本电脑 ssh 进入我的桌面后会导致图腾movie.avi在我的桌面上播放。

现在它给出了错误:

No protocol specified
Cannot open display:
Run Code Online (Sandbox Code Playgroud)

当两台计算机上都稳定时,我重新安装了 Debian 挤压,我想我破坏了配置。

我在谷歌上搜索过这个,但终其一生都无法弄清楚我应该做什么。

(VLC 有一个可以工作的 HTTP 接口,但不如 ssh 方便。)

当我尝试从 cron 作业运行它时,会出现同样的问题。

ssh cron x11

92
推荐指数
2
解决办法
16万
查看次数

四个并行的任务......我该怎么做?

我在一个目录中有一堆 PNG 图像。我有一个名为 pngout 的应用程序,我运行它来压缩这些图像。这个应用程序是由我做的脚本调用的。问题是这个脚本一次执行一个,如下所示:

FILES=(./*.png)
for f in  "${FILES[@]}"
do
        echo "Processing $f file..."
        # take action on each file. $f store current file name
        ./pngout -s0 $f R${f/\.\//}
done
Run Code Online (Sandbox Code Playgroud)

一次只处理一个文件,需要很多时间。运行此应用程序后,我看到 CPU 仅为 10%。所以我发现我可以将这些文件分成 4 个批次,将每个批次放在一个目录中并从四个终端窗口、四个进程中触发 4 个,所以我有四个脚本实例,同时处理这些图像和工作需要 1/4 的时间。

第二个问题是我浪费了时间分割图像和批处理并将脚本复制到四个目录,打开4个终端窗口,bla bla ...

如何用一个脚本做到这一点,而不必分割任何东西?

我的意思是两件事:首先,我如何从 bash 脚本启动一个进程到后台?(只是在最后加&?) 第二:如何在发送第四个任务后停止向后台发送任务并让脚本等待任务结束?我的意思是,只是在一个任务结束时向后台发送一个新任务,始终保持 4 个任务并行?如果我不这样做,循环将向后台发送无数个任务,CPU 将阻塞。

shell background-process parallelism

25
推荐指数
4
解决办法
2万
查看次数

Debian 如何使用大量 CPU 内核?

我刚刚获得了一个 24 核 VPS 的帐户(根据 UnixBench 有 24 个 CPU)。

  1. 一般而言,如何在 Debian 中充分利用所有这些内核进行通用 shell 计算?
  2. 当我从 shell 发出长时间运行的应用程序以使每个进程在单独的内核上运行时,是否需要键入一些特殊的内容?或者 Debian 只是处理所有这些,对我来说是不可见的?

command-line multiprocessor

3
推荐指数
1
解决办法
2546
查看次数