知乎 转载

和上篇文章一样,这篇也是来自一个知乎上我回答的问题。

原问题:为什么 Linus Torvalds 不愿意将 Linux 变成 GPLv3 授权?

我的回答:

这里有段 Linus Torvalds 在 DebConf 14 上的 Q&A: https://youtu.be/1Mg5_gxNXTo?t=47m20s

其中关于 GPLv3 和协议的那一段在47:20开始到57:00左右。 里面 Linus 对自己的观点澄清得很清楚了。 看u2b或者听英语有困难的请留评论,我抽空可以试着翻译一下。

DebConf 14: Q&A with Linus Torvalds

然后接下来就是我承诺的翻译了 …

PacVis
Demo of PacVis

我为什么要做 PacVis

我喜欢 Arch Linux ,大概是因为唯有 Arch Linux 能给我对整个系统「了如指掌」的感觉。 在 Arch Linux 里我能清楚地知道我安装的每一个包,能知道系统里任何一个文件是来自哪个包, 以及我为什么要装它。或许对 Debian/Fedora/openSUSE 足够熟悉了之后也能做到这两点, 不过他们的细致打包的结果通常是包的数量比 Arch 要多个 3 到 10 倍,并且打包的细节也比 Arch Linux 简单的 PKGBUILD 要复杂一个数量级。

每一个装过 Arch Linux 的人大概都知道,装了 Arch Linux 之后得到的系统非常朴素,按照 ArchWiki 上的流程一路走下来的话,最关键的一条命令就是 pacstrap /mnt …

在上篇文章 「桌面系统的混成器简史」 中我介绍了其它桌面系统中的混成器的发展史和工作原理, 话题回到我们的正题 Linux 系统上,来说说目前 X 中混成器是如何工作的。 这篇文章将比上一篇深入更多技术细节,不想看太多细节的可以直接跳过看 结论

原始的 X 的绘图模型

首先,没有混成器的时候 X 是这样画图的:

ditaa diagram

X 的应用程序没有统一的绘图 API 。GTK+ 在 3.0 之后统一用 Cairo 绘图, 而 Cairo 则是基于 PDF 1.4 的绘图模型构建的, GTK 的 2.0 和之前的版本中也有很大一部分的绘图是用 Cairo 进行, 其余则通过 xlib 或者 xcb 调用 X 核心协议提供的绘图原语绘图 …

透明计算 具体是什么,因为他们没有公开技术细节所以我并不知道,只是看 公开出来的演示视频 ,感觉似乎只要能从手机上远程登录系统桌面,就能算是透明计算了。 如果透明计算真是这个意思,那么我似乎已经用着这个技术很多年了嘛。

Xorg 上常用的远程桌面工具有很多,基于 VNC 协议的、基于NX的和基于 RDP 协议的都能找到, 直接 ssh X forwarding 效果也不错。只是这些方案的一个 不太易用 的地方在于,需要 通过 ip 访问到远程的电脑,所以在跨越 NAT 之类的情况下不太容易使用。

于是今天介绍一个使用方便设置也简单的方法: 通过 chrome-remote-desktop 在 archlinux 上使用远程桌面。这个方案的优势在于,借助 Google 的云端服务器(内部貌似是XMPP协议下的握手) 方便地实现了 NAT 穿透,无论什么网络环境基本都能使用。当然,要支持远程登录, 位于远端的登录的计算机必须一直开着 …

这篇也是源自于水源C板上板友的一个问题,涉及Linux上的控制台的实现方式和历史原因。因为内容比较长,所以在这里再排版一下发出来。 原帖在这里

可以设置不带缓冲的标准输入流吗?

WaterElement(UnChanged) 于 2014年12月09日23:29:51 星期二 问到:

请问对于标准输入流可以设置不带缓冲吗?比如以下程序

#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
    FILE *fp = fdopen(STDIN_FILENO, "r");
    setvbuf(fp, NULL, _IONBF, 0);
    char buffer[20];
    buffer[0] = 0;
    fgets(buffer, 20, fp);
    printf("buffer …

今天尝试 KDE5 Plasma 的活动的时候无意间发现这个现象。 只要把活动按钮拖出桌面,它就会在桌面边缘来回跳动。 视频如下:

当然你可以把它再拖回来,所以这个问题还无伤大雅,只是卖萌。

比比之前 Gnome3 那个跳动的界面真是好太多了:

顺便,今天还看到一个卖萌的 KDE5 Plasma 静音图标的翻译: