小编Cyk*_*ker的帖子

X 服务器可以有多个显示器吗?

这是我在man X以下内容中找到的内容:

短语“显示器”通常用于指共享一组通用输入设备(键盘、鼠标、平板电脑等)的监视器集合。大多数工作站往往只有一个显示器。然而,更大的多用户系统通常有多个显示器,因此可以有多个人同时进行图形工作。为避免混淆,当启动该显示器的 X 服务器时,机器上的每个显示器都被分配一个显示器编号(从 0 开始)。显示编号必须始终在显示名称中给出。

我的问题是:如果我们想使用多个显示器,我们是否需要启动多个 X 服务器,或者所有这些显示器都可以由单个 X 服务器处理?是否可以在不同的显示器上共享键盘、鼠标和显示器?

编辑。这里的显示指的是X窗口系统定义的概念,而不是单个监视器。我知道有支持多头配置的 Xinerama 和 XRandR 技术。

x11 display

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

如何修复文本格式的 xdg-mime

我的xdg-mime会出错。它将包含 Java 代码的 .html 文件识别为 C++ 文件。

我不太了解 xdg 的内部机制(例如它如何确定文件类型)。我想知道如何通过优先考虑文件扩展名的判断来解决这个问题。

当然,欢迎其他解决方案。更欢迎对 xdg-* 机制的解释。

freedesktop mime-types text

5
推荐指数
1
解决办法
596
查看次数

less -r 和 less -R 的区别

less 有两个选项:

-r 或者 --raw-control-chars

导致显示“原始”控制字符。

-R 或者 --RAW-CONTROL-CHARS

-r,但只有 ANSI“颜色”转义序列以“原始”形式输出。

这是否意味着当只有颜色控制字符时它们是等效的?我的输出^O在管道到时有less -R但在管道到时没有less -r。这里发生了什么事?

less

5
推荐指数
1
解决办法
2357
查看次数

如何从命令行获取X窗口边框宽度?

我已经尝试过xdotoolxwininfoxprop,但它们似乎都返回窗口的内容大小,其中不包括边框宽度。有没有可以找到这个边框宽度的命令行工具?希望该工具能够在不同的 EWMH 兼容窗口管理器上运行。

window-manager x11 window-decorations

5
推荐指数
1
解决办法
2459
查看次数

如何安全、有序地运行管道?

在Linux中,是否可以运行管道:

cmd1 | cmd2
Run Code Online (Sandbox Code Playgroud)

以这样的方式:

  1. cmd2cmd1直到完全完成才开始运行,并且

  2. 如果cmd1有错误,则cmd2根本不运行,并且管道的退出状态是 的退出状态cmd1

举个例子,如何制作这个管道:

false | echo ok
Run Code Online (Sandbox Code Playgroud)

什么都不输出并返回非零状态?


失败的解决方案1

set -o pipefail
Run Code Online (Sandbox Code Playgroud)

该管道确实具有非零退出状态,但cmd2即使cmd1失败仍然运行。

解决方案2失败

cmd1 && cmd2
Run Code Online (Sandbox Code Playgroud)

这不是管道。无 I/O 重定向。

解决方案 3 失败

mkfifo /tmp/fifo
cmd1 > /tmp/fifo && cmd2 < /tmp/fifo
Run Code Online (Sandbox Code Playgroud)

它会阻塞。

次优解

touch /tmp/file
cmd1 > /tmp/file && cmd2 < /tmp/file
Run Code Online (Sandbox Code Playgroud)

这似乎有效。但它有几个缺点:

  1. 它将数据写入 I/O 速度较慢的磁盘。(当然您可以使用tmpfs,但这是一个额外的系统要求)。

  2. 您必须仔细选择临时文件名。否则它可能会意外覆盖现有文件。mktemp可能会有所帮助,但未命名管道可以完全节省您的命名工作。

  3. 临时文件所在的文件系统可能不够大,无法容纳整个数据。

  4. 临时文件不会自动清理。

bash pipe fifo

5
推荐指数
1
解决办法
5492
查看次数

xargs:选项的顺序重要吗?

输入 0

echo foo | xargs -L 1 -I '{}' echo '{}'
Run Code Online (Sandbox Code Playgroud)

输出 0

foo
Run Code Online (Sandbox Code Playgroud)

输入 1

echo foo | xargs -I '{}' -L 1 echo '{}'
Run Code Online (Sandbox Code Playgroud)

输出 1

{} foo
Run Code Online (Sandbox Code Playgroud)

为什么更改 xargs 的选项顺序会更改输出?

版本: xargs (GNU findutils) 4.6.0

xargs

4
推荐指数
1
解决办法
355
查看次数

如何消除警告:mockbuild 不存在

我正在 Fedora 上从 SRPM 构建一个包:

$ rpmbuild --rebuild *.src.rpm

...
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
...
Run Code Online (Sandbox Code Playgroud)

该包已构建,但有很多这样的mockbuild does not exist警告。即使我安装了软件包,我的系统上似乎也没有这样的帐户mock。我还缺少其他任何软件包吗?这是包装上的故障还是我的系统故障?如何消除这些警告?

fedora rpm rpmbuild

4
推荐指数
1
解决办法
3908
查看次数

`/etc/X11/xorg.conf` 被弃用了吗?

我认为我的机器上的 X 在没有/etc/X11/xorg.conf. 有些文章说这个文件现在已经过时了,但是一些类 Unix 的发行版仍然教用户如何用这个文件配置 X。

那么这个文件的当前状态是什么?应该使用还是不使用?如果它没有被弃用,为什么 X 可以在没有它的情况下正常工作?

xorg x11

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

Bash 局部变量初始化

Bash 如何初始化局部变量?以下命令是否总是做同样的事情(在函数内部使用时)?

local foo
local foo=
local foo=""
Run Code Online (Sandbox Code Playgroud)

shell bash function variable

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

在 ssh_config 中强制 PTY 分配

要远程运行交互式程序,应该使用ssh -t <host>. 但这个-t选项也有缺点,所以不适合在非交互式程序上使用它。

我的问题是:我有几台机器。其中一些用于交互式程序,另一些用于非交互式程序。所以我必须准确地记住哪些需要-t。是否可以添加此内容~/.ssh/config以便我不必记住它?

基本上我想要的是这样的:

Host interactive
    HostName example.com
    User user
    Option "-t"
Run Code Online (Sandbox Code Playgroud)

ssh ssh-config

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