小编Jon*_*fer的帖子

尽管 xinput 列表中的 Synaptics Touchpad,synclient 仍找不到突触属性

我昨天将我的 Fedora 笔记本升级到了 Fedora 22。有了这个,synclient 停止工作:

找不到突触属性。没有加载突触驱动程序?

尽管如此,xinput list显示:

? Virtual core pointer                      id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]
[…]
Run Code Online (Sandbox Code Playgroud)

这是我这边的配置问题吗(awesome 据我所知,我正在使用在 X11 下运行的窗口管理器(不确定 Fedora 是否做了一些隐式魔法,因为他们在 22 版本的某些部分引入了 wayland))或者这个看起来像分发错误?

如果这是我这边的配置问题,我该如何解决?


这也发生在 Debian 和许多其他较新的系统上;至于为什么,请看答案。

x11 touchpad synclient libinput

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

有没有办法虚拟拆分我的显示器(用于最大化窗口)

我的问题本质上是如果我有双头设置,我是否可以伪造在 linux 上使用普通窗口管理器的行为。也就是说,如果我最大化一个窗口,它只会在桌面的一部分上最大化,匹配一个物理显示器的区域。我只有一个屏幕,但它有相当大的分辨率,而且大多数时候我想在多个单独的窗口上工作,水平平铺。

我听说过平铺窗口管理器,但我所知道的更像是角组,不像其他常见的窗口管理器(xfwm,compiz)。我目前正在使用 xfwm,如果可能的话,我想坚持使用它。如果这个任务requries,我宁愿一个或者其行为类似于常见的开箱为其准备的配置是可用的。

我想到的第一个 hack 是试图伪造 xrandr 提供的有关屏幕几何形状的信息,并使用该方法欺骗窗口管理器,但这似乎是一个不需要的健康 hack。

我使用的是 Fedora linux,但如果它不在包管理中,我也可以自己构建软件。

fedora window-manager display-settings xrandr

16
推荐指数
1
解决办法
6509
查看次数

`.[].foo[]` 在 bash 中有什么作用?为什么它匹配`..`?

请看以下内容:

$ echo .[].aliases[]
..
$ echo .[].foo[]
..
$ echo .[].[]
..
$ echo .[].xyz[]
..
$ echo .xyz[].xyz[]
.xyz[].xyz[]
$ echo .xyz[].[]
.xyz[].[]
Run Code Online (Sandbox Code Playgroud)

显然,这似乎是一团糟,但我不明白结果是如何结合在一起的。据我了解[]是一个空字符类。如果这将是直观的

  • 它只匹配空字符串;在这种情况下,我希望 bash 能够完整地重现,因为在这个目录中没有匹配它,但也匹配..aliases(在第一个例子中),
  • 或者什么都没有;在这种情况下,我希望 bash 也能重现整个字符串。

这是 GNU bash 版本 4.4.23(1)-release。

shell bash wildcards

16
推荐指数
1
解决办法
1029
查看次数

如何使 apt 忽略已安装包的未满足的依赖项?

.deb出于某些原因,我从 a 安装了 Opera 12.16 。假设我需要这个特定版本的特定浏览器,而且别无选择。

但是,该 deb 依赖于不再在我的发行版中的软件包(例如 gstreamer0.10 系列)(Debian 测试)。这使得 apt 在每个操作上失败,除了apt remove opera依赖错误:

# apt install cli-common
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 opera : Depends: gstreamer0.10-plugins-good but it is not installable
         Recommends: flashplugin-nonfree but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken …
Run Code Online (Sandbox Code Playgroud)

debian apt dependencies package-management

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

`\time`、`t\ime` 和 `\cd` 实际上是做什么的?(shell 中的反斜杠很有趣)

虽然讨论过之间的差异/usr/bin/time,并内置在外壳(bash和zsh中)time,有人提到可以使用\time作为简写来获得/usr/bin/time

起初,这似乎是一个很好的无辜捷径,但随后出现了一些问题:

  • 为什么也t\ime有效?
  • 为什么要\cd更改目录,即使/usr/bin/cd¹ 没有?

所以很明显,\foo不等价于$(which foo)。现在的问题是:

\foo在 bash 和 zsh 中观察到的行为是否以任何方式被 shell 的 POSIX 定义所涵盖,如果是,为什么它的行为如此?


脚注 1:/usr/bin/cd是,在我的系统上,

#!/bin/sh
builtin cd "$@"
Run Code Online (Sandbox Code Playgroud)

shell posix quoting time-utility

9
推荐指数
1
解决办法
808
查看次数

如何摆脱联想触摸板反应前的延迟方式?

在我的 Lenovo T460p 上,在注册触摸板移动或滚动之前,我有一个“延迟方式”。注意:不要将此延迟方式与触摸板的非活动区域混淆,因为可通过 synclient 配置并用于例如点击板功能。这更像是操纵杆的“死区”,只有在一定量的移动后才会做出反应。

当我触摸垫并开始移动我的手指时,起初什么也没有发生。在鼠标指针响应之前,我必须将手指移动几毫米。然后它会完全记录移动,这意味着每当我开始使用触摸板时,我都会在指针移动中跳过数十个像素。这使得触摸板无法用于任何“精确”工作,例如点击选项卡上的关闭按钮。

这也会发生在我让手指在一个动作中停留一秒钟左右之后。双指滚动也会发生同样的情况。这些是 xinput 设置:

Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (139):   1
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (275): 1
    Device Accel Constant Deceleration (276):   2.500000
    Device Accel Adaptive Deceleration (277):   1.000000
    Device Accel Velocity Scaling (278):    12.500000
    Synaptics Edges (297):  1574, 5369, 1354, 4571
    Synaptics Finger (298): 25, 30, 0
    Synaptics Tap Time (299):   180
    Synaptics Tap Move (300):   254
    Synaptics …
Run Code Online (Sandbox Code Playgroud)

drivers touchpad xinput

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

是否可以保证嵌套文件系统在使用sync(1) 的包含文件系统之前同步?

我在一个文件中有一个 luks 加密的 ext4,我用它来存储敏感数据(让我们将此 FS 称为“内部”)。文件本身又位于另一个 ext4 上,该 ext4 驻留在物理 SSD 上。让我们称其为“外部”FS。内部 FS 使用指向外部 FS 上文件的环回设备进行安装。

\n\n

当我调用sync(1)时,是否能保证内部FS的所有挂起写入都被持久化?

\n\n

如果同步以不幸的顺序发生,则(根据我的理解)可能会发生以下情况:

\n\n
    \n
  1. 数据写入内部 FS。
  2. \n
  3. sync调用。
  4. \n
  5. 外部 FS 缓存的写入被写入磁盘。
  6. \n
  7. 内部 FS 缓存的写入将写入外部 FS 上的文件。
  8. \n
  9. 从内部 FS 到外部 FS 的写入仍然在缓存中。
  10. \n
  11. 发生崩溃。
  12. \n
  13. 尽管发生在某个事件之前,但对内部 FS 的写入仍会丢失sync.
  14. \n
\n\n

同步是否能保证这种情况不会发生,或者我是否必须调用同步与嵌套文件系统层的次数一样多才能确定?

\n\n

我要求的是 Linux,但如果 POSIX 有这方面的消息,我\xe2\x80\x99d 也会对此感兴趣。

\n\n

sync(1)或上的 Debian 联机帮助页sync(2)没有关于此情况的信息。

\n

linux filesystems cache mount

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