我昨天将我的 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 和许多其他较新的系统上;至于为什么,请看答案。
我的问题本质上是如果我有双头设置,我是否可以伪造在 linux 上使用普通窗口管理器的行为。也就是说,如果我最大化一个窗口,它只会在桌面的一部分上最大化,匹配一个物理显示器的区域。我只有一个屏幕,但它有相当大的分辨率,而且大多数时候我想在多个单独的窗口上工作,水平平铺。
我听说过平铺窗口管理器,但我所知道的更像是角组,不像其他常见的窗口管理器(xfwm,compiz)。我目前正在使用 xfwm,如果可能的话,我想坚持使用它。如果这个任务requries,我宁愿一个或者其行为类似于常见的开箱或为其准备的配置是可用的。
我想到的第一个 hack 是试图伪造 xrandr 提供的有关屏幕几何形状的信息,并使用该方法欺骗窗口管理器,但这似乎是一个不需要的健康 hack。
我使用的是 Fedora linux,但如果它不在包管理中,我也可以自己构建软件。
请看以下内容:
$ echo .[].aliases[]
..
$ echo .[].foo[]
..
$ echo .[].[]
..
$ echo .[].xyz[]
..
$ echo .xyz[].xyz[]
.xyz[].xyz[]
$ echo .xyz[].[]
.xyz[].[]
Run Code Online (Sandbox Code Playgroud)
显然,这似乎是一团糟,但我不明白结果是如何结合在一起的。据我了解[]
是一个空字符类。如果这将是直观的
..aliases
(在第一个例子中),这是 GNU bash 版本 4.4.23(1)-release。
.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) 虽然讨论过之间的差异/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) 在我的 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) 我在一个文件中有一个 luks 加密的 ext4,我用它来存储敏感数据(让我们将此 FS 称为“内部”)。文件本身又位于另一个 ext4 上,该 ext4 驻留在物理 SSD 上。让我们称其为“外部”FS。内部 FS 使用指向外部 FS 上文件的环回设备进行安装。
\n\n当我调用sync(1)时,是否能保证内部FS的所有挂起写入都被持久化?
\n\n如果同步以不幸的顺序发生,则(根据我的理解)可能会发生以下情况:
\n\nsync
调用。sync
.同步是否能保证这种情况不会发生,或者我是否必须调用同步与嵌套文件系统层的次数一样多才能确定?
\n\n我要求的是 Linux,但如果 POSIX 有这方面的消息,我\xe2\x80\x99d 也会对此感兴趣。
\n\nsync(1)
或上的 Debian 联机帮助页sync(2)
没有关于此情况的信息。