小编der*_*ert的帖子

使用gdm3时如何从cron作业访问X显示?

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

我正在尝试运行需要访问我的 X 会话的 cron 作业。我知道我的 X 会话将始终为 :0,因此其中一部分很简单:

/30 * * * * DISPLAY=:0 command
Run Code Online (Sandbox Code Playgroud)

但问题是 gdm3 不再使用$HOME/.Xauthority; 相反,它使用/var/run/gdm3/auth-for-anthony-XXXXXX/databaseX 更改每次登录的位置。

除了$HOME/.Xauthority每次登录时符号链接到 GDM3 文件(或每次登录时编辑 crontab 等——.xsession当然是自动的),还有什么方法可以让 cron 工作正常工作?

cron x11 xauth

8
推荐指数
1
解决办法
5101
查看次数

我被黑了吗?

我运行一个专用服务器,最近我注意到 CPU 使用率很高,并检查了进程。似乎有人(mick 帐户)在我的服务器上挖矿。这怎么可能?过程如下。我已暂停帐户。我还需要做什么?

25516 mick  30  10  778m 6728 1132 S 740.5  0.2   8463:59 /tmp/sh64 -o stratum+tcp://multi1.wemineall.com:80 -u weedee.1 -p x --algo scrypt -B
Run Code Online (Sandbox Code Playgroud)

security

8
推荐指数
2
解决办法
6095
查看次数

如何在单独的进程中使用 ffmpeg 进行流式传输

我需要在 Ubuntu 上使用 ffmpeg 进行流式传输。流式传输应该从 bash 脚本开始。

目前,我像这样调用 ffmpeg,作为 bash 脚本中子程序的一部分:

function startFFMpegEncoder () {
    echo "Starting Encoder..."

    killall -9 ffmpeg   

    ffmpeg -s 640x480 -f video4linux2 -i $CAM_PATH -f mpeg1video -b:v 800k -r 30 http://127.0.0.1:$FFMPEG_PORT/$VIDEO_PASSWORD/640/480/ &

    echo "Encoder started."
}
Run Code Online (Sandbox Code Playgroud)

这是脚本执行的这一部分产生的输出:

Starting Encoder...
ffmpeg: no process found
ffmpeg version N-73895-g323ec6b Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libdcadec --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis …
Run Code Online (Sandbox Code Playgroud)

ffmpeg background-process

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

为什么 find/rm -iname '*phpmyadmin' 不删除 phpMyAdmin-Version-XYZ.zip?

我有以下代码:

find ./ -iname '*phpmyadmin' -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)

它会删除名为 的目录phpmyadmin,但不会删除名为phpMyAdmin-Version-XYZ.zip

即使我删除了-rf,它仍然不会删除它(可能是因为 -iname 的第二个问题不影响大小写不敏感)。

  1. 有没有办法删除单个 rm(文件、目录、软链接)中的任何 inode?
  2. 为什么添加-iname没有效果?

注意:我在man rm.

find rm

8
推荐指数
1
解决办法
1383
查看次数

如何设置用于无头使用的 linux 服务器?

考虑一个像这样的无头服务器:一个典型的远程位置的 x86 机器,你可以用一个股票 - 例如 - Ubuntu 映像远程初始化。初始化后,您只能通过 ssh 登录 - 或远程重置它,即您无法访问 BIOS 或引导管理器提示(例如 Grub 1)。

也许某种KVM可用,但KVM的使用非常昂贵,您必须按小时预订。

在这种情况下,人们可能会对启动问题产生偏执。例如:

  1. 如果内核升级失败怎么办?
  2. 早期启动过程中的 fsck-prompt 怎么样?可能,ssh 尚不可用...

还有其他需要注意的问题吗?

对于内核升级,我配置了 grub(旧版),以便menu.lst序言包含

default saved
fallback 2  # counts from 0
Run Code Online (Sandbox Code Playgroud)

第一个条目以:

savedefault fallback
Run Code Online (Sandbox Code Playgroud)

第一个 grub 条目是升级后的内核,第三个是已知的工作内核。另请参阅有关回退引导grub 手册部分

我更改了启动脚本/etc/rc.local(在类似 Debian 的系统上),以便在成功启动的情况下重置默认条目设置:

grub-set-default 0
Run Code Online (Sandbox Code Playgroud)

这个 grub-setup 有效,但例如在 Ubuntu 上,这不是默认设置,必须menu.lst在每次内核更新后手动调整。

我供应

panic=60
Run Code Online (Sandbox Code Playgroud)

作为内核参数,例如在错误root=参数或损坏内核的情况下,系统会在出现错误时自动重新启动。

关于 fsck 问题,我不确定最好的方法是什么。在类似 Debian 的系统上,您可以设置

FSCKFIX=yes
Run Code Online (Sandbox Code Playgroud)

in /etc/default/rcS,它告诉 fsck 默认情况下自动修复。

但是如果自动修复失败,也许我仍然会收到无法远程访问的提示?

或者,我可以通过第六列中的零禁用 fsck …

remote-management headless

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

如何在 Linux 上设置 SSH 以无密码登录?

我的 Raspberry Pi 正在运行默认的 Debian 映像并启用了 SSH。我登录到我的 Pi 如下:

ssh pi@<IP-address-of-my-Pi>
Run Code Online (Sandbox Code Playgroud)

我每次都必须输入密码。我可以以某种方式让我的 Pi 接受来自我本地机器的登录吗?我正在运行 Fedora Linux。

ssh authentication

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

shred 在不同文件系统上的有效性

man shred警告该命令在不就地覆盖的文件系统上没有用。我对当前和即将推出的文件系统知之甚少,但我怀疑它们中的许多人为此目的支持一些特殊的就地写入模式,这是 shred 使用的。

我对这个假设是否正确?是否已经实施shred?有没有什么办法可以不费吹灰之力地告诉你(例如,当宣布一个新的文件系统时)?

filesystems security shred

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

如何制作 Linux 应用程序(多合一)安装程序?

我正在开发一些 Linux 应用程序。现在是开始考虑部署的正确时机。所以我的问题是:

如何创建一个文件安装程序,例如有时可以在互联网上找到的 *.run 或 *.sh 文件(例如 nVidia 驱动程序或 Wolfram Mathematica CDF)。

software-installation software-distribution

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

为什么从 Makefile 调用时 diff 会失败?

我正在尝试解决的补丁问题的缩小范围:只有两个文件,每个文件的大小为 1 个字节:

  • 文件a(包含'a'
  • 文件b(包含'b')和

目标是制作并应用一个补丁来改变'b'to的值'a'。Makefile 的内容是:

patch:
        diff -u b a > b2a.patch
        patch -o b.corrected b < b2a.patch
        diff a b.corrected

clean:
        rm -f b2a.patch b.corrected
Run Code Online (Sandbox Code Playgroud)

鉴于上述情况,make失败并显示以下输出:

$ make
diff -u b a > b2a.patch
make: *** [patch] Error 1
Run Code Online (Sandbox Code Playgroud)

但是,如果我在 bash shell 上一个接一个地执行 Makefile 中的命令,则完全没有问题。

make diff patch

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

列出作为列表中其他字符串的子字符串的字符串

我有一个像这样的名字列表:

dog_bone
dog_collar
dragon
cool_dragon
lion
lion_trainer
dog
Run Code Online (Sandbox Code Playgroud)

我需要提取出现在其他名称中的名称,如下所示:

dragon
lion
dog
Run Code Online (Sandbox Code Playgroud)

我查看了uniq手册页,但它似乎比较了整行,而不是字符串。有没有办法用 bash 函数来做到这一点?

bash shell-script text-processing

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