小编Ced*_*tin的帖子

使用 Alt_R 作为 mod4 后无法再切换到控制台

我想使用正确的 ALT 键作为“mod4”(最值得注意的是,默认情况下,“awesome”窗口管理器使用 mod4 作为大多数 WM 命令的修饰符,我非常喜欢这个想法)。

但是我有一个问题:一旦我添加:

xmodmap -e 'add mod4 = Alt_R'
Run Code Online (Sandbox Code Playgroud)

那么我不能使用,比如说,CTRL+ALT+F2 从 X 切换到文本控制台。

(请注意,我总是使用左 ALT 来执行此操作,而不是右 ALT:实际上在将右 ALT 分配给 mod4 之前我从未使用过该键)

这确实是快捷方式/修饰符的问题,因为我仍然可以使用chvt命令从 X 切换到文本控制台。例如,以下始终工作正常:

chvt 1
Run Code Online (Sandbox Code Playgroud)

一旦我清除了 mod4:

xmodmap -e 'clear mod4'
Run Code Online (Sandbox Code Playgroud)

我可以使用CTRL+ALT+F2(再次左 ALT)切换到我的文本控制台。

但当然,我没有得到很好的默认 mod4+...“很棒”的快捷方式。

所以基本上我可以使用正确的 ALT 作为 mod4 并且有很棒的工作,或者我可以清除 mod4(不将正确的 ALT 分配给任何修饰符)并且能够使用 CTRL+ALT+F2 切换到文本控制台。

但我不能两者兼得。

你们知道为什么将右 ALT 配置为 mod4 会阻止 CTRL+左 ALT+F2 切换到文本控制台吗?

下面是完整的xmodmap(当CTRL + ALT左+ F2是工作):

shift   Shift_L (0x32), Shift_R (0x3e)
lock …
Run Code Online (Sandbox Code Playgroud)

xorg keyboard-shortcuts xmodmap console keyboard-layout

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

SSH 和 Squid 用作代理时有什么区别?

我一直在我的一台服务器上使用 Squid 作为透明代理很长一段时间(几年)。

基本上从客户端,我在我的客户端和 ssh + Squid 服务器之间创建了一个 SSH 隧道,这样做:

ssh -T -N -x -C -L3128:127.0.0.1:3128 cedric@xxx
Run Code Online (Sandbox Code Playgroud)

然后我会启动我的网络浏览器(chromium),在端口 3128 上的 127.0.0.1 上为它提供一个代理服务器。

这在很长一段时间内都运行良好,但后来我开始在许多网站(论坛、使用 Google 作为登录权限的 stackexchange 等)上出现日志问题。有些一直工作正常(如 GMail 和所有 GMail 服务)。我不知道是什么导致了登录问题:我认为这是由于我升级服务器的操作系统和软件时的一些 Squid 配置问题。

所以我考虑建立一个 VPN,但后来通过阅读一篇名为“SSH 作为穷人的 VPN”的文章,我意识到我可以使用 SSH 并简单地从客户端执行此操作:

ssh -D 5222 cedric@xxx -N
Run Code Online (Sandbox Code Playgroud)

然后将我的浏览器配置为使用 127.0.0.1 作为端口 5222 上的 SOCKS 主机。

现在一切正常:所有登录问题似乎都解决了,我什至不再需要服务器上的 Squid。

但是我不明白它是如何工作的。从各种“我的 ip 是什么”网站,我看到了我的服务器地址(这是我想要的)。此外,这些站点似乎没有检测到正在运行的 SSH“隧道”。

基本上我的问题是:从技术上讲,使用 Squid 作为透明代理与使用“SSH -D ... -N”和使用 VPN 之间的区别是什么?

从我访问的网站的角度来看,有什么不同吗?

另外我想知道在使用“SSH -D ... -N”时,我正在访问的网站是否有任何方式能够检测到我的真实IP?这在技术上是否可行,还是浏览器根本无法获得该信息?

ssh http-proxy squid

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

磁盘在镜像 RAID 设置中是否可以互换?

通常认为镜像 RAID(如 RAID 1)中的磁盘是一个精确的镜像副本。

那么我可以关闭机器并简单地交换两个硬盘电缆吗?

如果两个磁盘中的一个崩溃并且永远死了,我是否可以简单地关闭机器,放置第三个(新)硬盘而不是死的硬盘,从一张实时 CD 启动并“dd”磁盘的整个内容对新磁盘仍然很好,然后在 RAID 1 可操作的情况下再次启动?

如果不是那么简单,为什么不那么简单?

raid hard-disk mirror raid1

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

奇怪的 SSH/SCP 进度表行为

我有一个非常奇怪的 SSH 行为,这让我有点紧张。基本上进度表完全是假的:假到几乎没用。而且我担心可能会发生其他事情(更多内容见下文)。

基本上我只有 60 KB/s 左右的上传链接,但我启动的每个 scp 都开始说它正在执行 2 MB/s。

然后它总是试图“修复”这个数字,慢慢地向真实值收敛。

然后,对于“大”文件(几 MB 或更多),它总是在 100% 停顿几秒钟(最终它成功了,我又回到了提示)。

输出如下所示:

...
test.tgz 16% 2112KB   2.1MB/s   00:04 ETA
test.tgz 17% 2208KB   1.7MB/s   00:06 ETA
test.tgz 18% 2320KB   1.2MB/s   00:08 ETA
test.tgz 19% 2448KB   1.1MB/s   00:08 ETA
test.tgz 20% 2576KB 942.2KB/s   00:10 ETA
test.tgz 21% 2704KB 697.3KB/s   00:14 ETA
test.tgz 22% 2832KB 576.3KB/s   00:16 ETA
test.tgz 23% 2960KB 478.3KB/s   00:20 ETA
test.tgz 24% 3088KB 399.0KB/s   00:23 ETA
test.tgz 25% 3216KB 334.7KB/s   00:27 ETA
test.tgz …
Run Code Online (Sandbox Code Playgroud)

ssh scp progress-information

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

加密磁盘文件系统兼容性

在安装期间在我的 Debian Linux 系统上,我决定使用磁盘加密(在常规 Debian 安装期间提供的加密)。当系统启动时,我需要输入密码,然后“真正的”启动开始。

有人可以解释一下这种加密是如何执行的吗?它发生在文件系统布局之前还是之后?我可以将任何可用于 Linux 的文件系统与磁盘加密一起使用吗?

在/ etc / mtab中/比Linux的使用了什么我是比较复杂的,我把它它与磁盘加密,但我真的不知道。这是(我认为是)我的/etc/mtab 中的相关位:

/dev/sda1 /boot ext2 rw,relatime,errors=continue 0 
/dev/mapper/archon-root / ext4 rw,noatime,errors=remount-ro,user_xattr,commit=300,barrier=1,data=ordered 0 0
rootfs / rootfs rw 0 0
Run Code Online (Sandbox Code Playgroud)

我真的不明白为什么 /boot 是 ext2 ,为什么 / 是 ext-4 并使用/dev/mapper

/boot 可以使用 ext4 吗?

是否可以/正在使用 ZFS 并且仍然提供加密?

filesystems boot zfs encryption ext4

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

如何仅为一个用户安装自定义 GMP 库?

我正在一个系统上进行一些繁重的数字运算,我想为启动数字运算计算的用户编译(并微调)自定义 GMP 6.1.0。以前我有一个 Debian wheezy (7.6) 系统,我在该系统上安装了自定义 GMP 库,同时作为 root 并修改文件系统中的左右内容(因为我不知道更好)。它最终起作用了:我的自定义 GMP 库处理数字的速度比库存 GMP 快 15%。

现在,我在该计算机上安装了一个新的 Debian(Jessie 8.3),并带有“库存”GMP(Debian Jessie 附带的那个):

# gcc --version
gcc (Debian 4.9.2-10) 4.9.2

# apt-get install libgmp10
# apt-get install libgmp-dev
Run Code Online (Sandbox Code Playgroud)

这显然是 GMP 6.0.0。

我正在编译我的数字运算程序:

$ gcc crunch.c -o crunch.o -L/gmp_install/lib -lgmp
Run Code Online (Sandbox Code Playgroud)

(我知道我可能会通过弄乱传递给 GCC 的一些参数来获得一些收益,但这里的大问题是非自定义 GMP 的“缓慢”)。

然后我调用./crunch.o并且它可以工作,但它比我在旧系统上的自定义构建 GMP 慢 15%(在完全相同的计算机上使用上面粘贴的完全相同的 gcc 编译命令)。

我现在想再次编译自定义 GMP 6.1.0,但只有运行繁重计算的用户才能访问。

换句话说:我现在想干净地安装自定义 GMP,而不是弄乱(在作为 root 用户时)整个文件系统。

但我不明白-L/gmp_install/lib指的是什么,也不明白-lgmp做什么。

我认为我需要做的第一步是:

那么如何为一个(非 …

compiling libraries gcc

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