分类 桌面应用 下的文章

Cream 附加包通过把一个更加熟悉的“面孔”置于 Vim 文本编辑器之上,同时保留 Vim 的功能,使其更加容易使用

 title=

大约 10 年前,我既使用 Emacs 进行文本编辑,也使用 Vim 进行文本编辑。说到底,我的确是一个热衷于 Emacs 的家伙。尽管 Emacs 在我的心里占据了很重要的地位,但我知道, Vim 也不赖。

一些人,或者像我一样的人,在技术方面有些笨手笨脚。多年来,我和一些 Linux 新手交流,了解到他们想使用 Vim,但是却失望的发现, Vim 编辑器和他们在其它操作系统上使用过的编辑器不一样。

但是,当我把 Cream 介绍给他们以后,他们的失望就变成了满意。Cream 是 Vim 的一个附加包,它使得 Vim 更加容易使用。Cream 让这些 Linux 新手变成了 Vim 的坚决拥护者和忠心用户。

让我们来看一看 Cream 是什么以及它是如何让 Vim 变得更加容易使用的。

Cream 的安装

在安装 Cream 之前,你需要先在你的电脑上安装好 Vim 和 GVim 的 GUI 组件。我发现最容易完成这件事的方法是使用 Linux 版本的包管理器。

安装好 Vim 以后,便可下载 Cream 的安装程序,或者你也可以再次使用 Linux 发行版的包管理器进行安装。

安装好 Cream 以后,你可以从应用菜单选择它(比如,Applications->Cream)或者在程序启动器中输入 Cream,从而启动 Cream 。

 title=

Cream 的使用

如果你之前已经使用过 Gvim,那么你会注意到, Cream 几乎没改变该编辑器的外观和感觉。最大的不同是 Cream 的菜单栏和工具栏,它们取代了 Gvim 陈旧的菜单栏和工具栏,新的菜单栏和工具栏的外观和功能分组看起来和其它编辑器的一样。

Cream 的菜单栏对用户隐藏了更多的技术选项,比如指定一个编译器的能力,以及运行 make 命令的能力。当你通过使用 Cream 更加熟悉 Vim 以后,你只需要从 Setting->Preferences->Behavior 选择选项,就可以更容易地访问这些特性。有了这些选项,你可以(如果你想)体验到一个兼有 Cream 和传统 Vim 二者优点的强大编辑器。

Cream 并不是仅由菜单驱动。尽管编辑器的功能仅有单击或双击两种方式,但是你也可以使用常见的键盘快捷键来执行操作,比如 CTRL-O(打开一个文件),CTRL-C(复制文本)。你不需要在几种模式之间切换,也不需要记住一些很难记住的命令。

Cream 开始运行以后,打开一个文件,或者新建一个文件,然后就可以开始输入了。几个我向他们介绍过 Cream 的人说,虽然 Cream 保留了 Vim 的许多典型风格,但是 Cream 使用起来更加舒服。

 title=

并不是说 Cream 是 Vim 的简化版,远远不是。事实上, Cream 保留了 Vim 的全部特性,同时,它还有一系列其他有用的特性。我发现的 Cream 的一些有用的特性包括:

  • 一个标签式界面
  • 语法高亮(特别是针对 Markdown、LaTeX 和 HTML)
  • 自动修正拼写错误
  • 字数统计
  • 内建文件浏览器

Cream 本身也有许多附加包,可以给编辑器增加一些新的特性。这些特性包括文本加密、清理电子邮件内容,甚至还有一个使用教程。老实说,我还没有发现哪一个附加包是真正有用的,不过你的感受可能会有所不同。

我曾听过一些 Vi/Vim 的狂热分子谴责 Cream “降低”(这是他们的原话)了 Vi/Vim 编辑器的水准。的确,Cream 并不是为他们设计的。它是为那些想快速使用 Vim ,同时保留他们曾经使用过的编辑器的外观和感觉的人准备的。在这种情况下, Cream 是值得赞赏的,它使得 Vim 更加容易使用,更加广泛的被人们使用。

(题图 : opensource.com)


via: https://opensource.com/article/17/5/stir-bit-cream-make-vim-friendlier

作者:Scott Nesbitt 译者:ucasFL 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

也许没有那么多铁杆的游戏玩家使用 Linux,但肯定有很多 Linux 用户喜欢玩游戏。如果你是其中之一,并希望向世界展示 Linux 游戏不再是一个笑话,那么你会喜欢下面这个关于如何捕捉并且/或者以流式播放游戏的快速教程。我在这将用一个名为 “Open Broadcaster Software Studio” 的软件,这可能是我们所能找到最好的一种。

捕获设置

在顶层菜单中,我们选择 “File” → “Settings”,然后我们选择 “Output” 来设置要生成的文件的选项。这里我们可以设置想要的音频和视频的比特率、新创建的文件的目标路径和文件格式。这上面还提供了粗略的质量设置。

Select output set in OBS Studio

如果我们将顶部的输出模式从 “Simple” 更改为 “Advanced”,我们就能够设置 CPU 负载,以控制 OBS 对系统的影响。根据所选的质量、CPU 能力和捕获的游戏,可以设置一个不会导致丢帧的 CPU 负载设置。你可能需要做一些试验才能找到最佳设置,但如果将质量设置为低,则不用太多设置。

Change OBS output mode

接下来,我们转到设置的 “Video” 部分,我们可以设置我们想要的输出视频分辨率。注意缩小过滤(downscaling filtering )方式,因为它使最终的质量有所不同。

Down scaling filter

你可能还需要绑定热键以启动、暂停和停止录制。这特别有用,这样你就可以在录制时看到游戏的屏幕。为此,请在设置中选择 “Hotkeys” 部分,并在相应的框中分配所需的按键。当然,你不必每个框都填写,你只需要填写所需的。

Configure Hotkeys in OBS

如果你对流式传输感兴趣,而不仅仅是录制,请选择 “Stream” 分类的设置,然后你可以选择支持的 30 种流媒体服务,包括 Twitch、Facebook Live 和 Youtube,然后选择服务器并输入 流密钥。

Streaming settings

设置源

在左下方,你会发现一个名为 “Sources” 的框。我们按下加号来添加一个新的源,它本质上就是我们录制的媒体源。在这你可以设置音频和视频源,但是图像甚至文本也是可以的。

OBS Media Source

前三个是关于音频源,接下来的两个是图像,JACK 选项用于从乐器捕获的实时音频, Media Source 用于添加文件等。这里我们感兴趣的是 “Screen Capture (XSHM)”、“Video Capture Device (V4L2)” 和 “Window Capture (Xcomposite)” 选项。

屏幕捕获选项让你选择要捕获的屏幕(包括活动屏幕),以便记录所有内容。如工作区更改、窗口最小化等。对于标准批量录制来说,这是一个适合的选项,它可在发布之前进行编辑。

我们来探讨另外两个。Window Capture 将让我们选择一个活动窗口并将其放入捕获监视器。为了将我们的脸放在一个角落,视频捕获设备用于人们可以在我们说话时可以看到我们。当然,每个添加的源都提供了一组选项来供我们实现我们最后要的效果。

OBS Window Capture

添加的来源是可以调整大小的,也可以沿着录制帧的平面移动,因此你可以添加多个来源,并根据需要进行排列,最后通过右键单击执行基本的编辑任务。

Add Multiple sources

过渡

最后,如果你正在流式传输游戏会话时希望能够在游戏视图和自己(或任何其他来源)之间切换。为此,请从右下角切换为“Studio Mode”,并添加一个分配给另一个源的场景。你还可以通过取消选中 “Duplicate scene” 并检查 “Transitions” 旁边的齿轮图标上的 “Duplicate sources” 来切换。 当你想在简短评论中显示你的脸部时,这很有帮助。

Studio mode

这个软件有许多过渡效果,你可以按中心的 “Quick Transitions” 旁边的加号图标添加更多。当你添加它们时,还将会提示你进行设置。

总结

OBS Studio 是一个功能强大的免费软件,它工作稳定,使用起来相当简单直接,并且拥有越来越多的扩展其功能的附加插件。如果你需要在 Linux 上记录并且/或者流式传输游戏会话,除了使用 OBS 之外,我无法想到其他更好的解决方案。你有其他类似工具的经验么? 请在评论中分享也欢迎包含一个展示你技能的视频链接。:)


via: https://www.howtoforge.com/tutorial/how-to-capture-and-stream-your-gaming-session-on-linux/

作者:Bill Toulas 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

简介

Asciinema 是一个轻量并且非常高效的终端会话录制器。使用它可以录制、回放和分享 JSON 格式的终端会话记录。与一些桌面录制器,比如 Recordmydesktop、Simplescreenrecorder、Vokoscreen 或 Kazam 相比,Asciinema 最主要的优点是,它能够以通过 ASCII 文本以及 ANSI 转义码编码来录制所有的标准终端输入、输出和错误信息。

事实上,即使是很长的终端会话,录制出的 JSON 格式文件也非常小。另外,JSON 格式使得用户可以利用简单的文件转化器,将输出的 JSON 格式文件嵌入到 HTML 代码中,然后分享到公共网站或者使用 asciinema 账户分享到 Asciinema.org 。最后,如果你的终端会话中有一些错误,并且你还懂一些 ASCI 转义码语法,那么你可以使用任何编辑器来修改你的已录制终端会话。

难易程度:

很简单!

标准终端:

  • # - 给定命令需要以 root 用户权限运行或者使用 sudo 命令
  • $ - 给定命令以常规权限用户运行

从软件库安装

通常, asciinema 可以使用你的发行版的软件库进行安装。但是,如果不可以使用系统的软件库进行安装或者你想安装最新的版本,那么,你可以像下面的“从源代码安装”部分所描述的那样,使用 Linuxbrew 包管理器来执行 Asciinema 安装。

在 Arch Linux 上安装:

# pacman -S asciinema

在 Debian 上安装:

# apt install asciinema

在 Ubuntu 上安装:

$ sudo apt install asciinema

在 Fedora 上安装:

$ sudo dnf install asciinema

从源代码安装

最简单并且值得推荐的方式是使用 Linuxbrew 包管理器,从源代码安装最新版本的 Asciinema 。

前提条件

下面列出的前提条件是安装 Linuxbrew 和 Asciinema 需要满足的依赖关系:

  • git
  • gcc
  • make
  • ruby

在安装 Linuxbrew 之前,请确保上面的这些包都已经安装在了你的 Linux 系统中。

在 Arch Linux 上安装 ruby:

# pacman -S git gcc make ruby

在 Debian 上安装 ruby:

# apt install git gcc make ruby

在 Ubuntu 上安装 ruby:

$ sudo apt install git gcc make ruby

在 Fedora 上安装 ruby:

$ sudo dnf install git gcc make ruby

在 CentOS 上安装 ruby:

# yum install git gcc make ruby

安装 Linuxbrew

Linuxbrew 包管理器是苹果的 MacOS 操作系统很受欢迎的 Homebrew 包管理器的一个复刻版本。还没发布多久,Homebrew 就以容易使用而著称。如果你想使用 Linuxbrew 来安装 Asciinema,那么,请运行下面命令在你的 Linux 版本上安装 Linuxbrew:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"

现在,Linuxbrew 已经安装到了目录 $HOME/.linuxbrew/ 下。剩下需要做的就是使它成为可执行 PATH 环境变量的一部分。

$ echo 'export PATH="$HOME/.linuxbrew/bin:$PATH"' >>~/.bash_profile
$ . ~/.bash_profile

为了确认 Linuxbrew 是否已经安装好,你可以使用 brew 命令来查看它的版本:

$ brew --version
Homebrew 1.1.7
Homebrew/homebrew-core (git revision 5229; last commit 2017-02-02)

安装 Asciinema

安装好 Linuxbrew 以后,安装 Asciinema 就变得无比容易了:

$ brew install asciinema

检查 Asciinema 是否安装正确:

$ asciinema --version
asciinema 1.3.0

录制终端会话

经过一番辛苦的安装工作以后,是时候来干一些有趣的事情了。Asciinema 是一个非常容易使用的软件。事实上,目前的 1.3 版本只有很少的几个可用命令行选项,其中一个是 --help

我们首先使用 rec 选项来录制终端会话。下面的命令将会开始录制终端会话,之后,你将会有一个选项来丢弃已录制记录或者把它上传到 asciinema.org 网站以便将来参考。

$ asciinema rec

运行上面的命令以后,你会注意到, Asciinema 已经开始录制终端会话了,你可以按下 CTRL+D 快捷键或执行 exit 命令来停止录制。如果你使用的是 Debian/Ubuntu/Mint Linux 系统,你可以像下面这样尝试进行第一次 asciinema 录制:

$ su
Password:
# apt install sl
# exit
$ sl

一旦输入最后一个 exit 命令以后,将会询问你:

$ exit
~ Asciicast recording finished.
~ Press <Enter> to upload, <Ctrl-C> to cancel.

https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4

如果你不想上传你的私密命令行技巧到 asciinema.org 网站,那么有一个选项可以把 Asciinema 记录以 JSON 格式保存为本地文件。比如,下面的 asciinema 记录将被存为 /tmp/my_rec.json

$ asciinema rec /tmp/my_rec.json

另一个非常有用的 asciinema 特性是时间微调。如果你的键盘输入速度很慢,或者你在进行多任务,输入命令和执行命令之间的时间会比较长。Asciinema 会记录你的实时按键时间,这意味着每一个停顿都将反映在最终视频的长度上。可以使用 -w 选项来缩短按键的时间间隔。比如,下面的命令将按键的时间间隔缩短为 0.2 秒:

$ asciinema rec -w 0.2

回放已录制终端会话

有两种方式可以来回放已录制会话。第一种方式是直接从 asciinema.org 网站上播放终端会话。这意味着,你之前已经把录制会话上传到了 asciinema.org 网站,并且需要提供有效链接:

$ asciinema play https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4

另外,你也可以使用本地存储的 JSON 文件:

$ asciinema play /tmp/my_rec.json

如果要使用 wget 命令来下载之前的上传记录,只需在链接的后面加上 .json

$ wget -q -O steam_locomotive.json https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json
$ asciinema play steam_locomotive.json

将视频嵌入 HTML

最后,asciinema 还带有一个独立的 JavaScript 播放器。这意味者你可以很容易的在你的网站上分享终端会话记录。下面,使用一段简单的 index.html 代码来说明这个方法。首先,下载所有必要的东西:

$ cd /tmp/
$ mkdir steam_locomotive
$ cd steam_locomotive/
$ wget -q -O steam_locomotive.json https://asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json
$ wget -q https://github.com/asciinema/asciinema-player/releases/download/v2.4.0/asciinema-player.css
$ wget -q https://github.com/asciinema/asciinema-player/releases/download/v2.4.0/asciinema-player.js

之后,创建一个新的包含下面这些内容的 /tmp/steam_locomotive/index.html 文件:

<html>
<head>
  <link rel="stylesheet" type="text/css" href="./asciinema-player.css" />
</head>
<body>
  <asciinema-player src="./steam_locomotive.json" cols="80" rows="24"></asciinema-player>
  <script src="./asciinema-player.js"></script>
</body>
</html>

完成以后,打开你的网页浏览器,按下 CTRL+O 来打开新创建的 /tmp/steam_locomotive/index.html 文件。

结论

正如前面所说的,使用 asciinema 录制器来录制终端会话最主要的优点是它的输出文件非常小,这使得你的视频很容易分享出去。上面的例子产生了一个包含 58472 个字符的文件,它是一个只有 58 KB 大 小的 22 秒终端会话视频。如果我们查看输出的 JSON 文件,会发现甚至这个数字已经非常大了,这主要是因为一个 “蒸汽机车” 已经跑过了终端。这个长度的正常终端会话一般会产生一个更小的输出文件。

下次,当你想要在一个论坛上询问关于 Linux 配置的问题,并且很难描述你的问题的时候,只需运行下面的命令:

$ asciinema rec

然后把最后的链接贴到论坛的帖子里。

故障排除

在 UTF-8 环境下运行 asciinema

错误信息:

asciinema needs a UTF-8 native locale to run. Check the output of `locale` command.

解决方法: 生成并导出 UTF-8 语言环境。例如:

$ localedef -c -f UTF-8 -i en_US en_US.UTF-8
$ export LC_ALL=en_US.UTF-8

via: https://linuxconfig.org/record-and-replay-terminal-session-with-asciinema-on-linux

作者:Lubos Rendek 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在应用市场中有好几种屏幕截图工具,但其中大多数都是基于 GUI 的。如果你经常在 linux 命令行上工作,而且正在寻找一款优秀的功能丰富的基于命令行的屏幕截图工具,你可能会想尝试 gnome-screenshot。在本教程中,我将使用易于理解的例子来解释这个实用程序。

请注意,本教程中提到的所有例子已经在 Ubuntu 16.04 LTS 上测试过,测试所使用的 gonme-screenshot 版本是 3.18.0。

关于 Gnome-screenshot

Gnome-screenshot 是一款 GNOME 工具,顾名思义,它是一款用来对整个屏幕、一个特定的窗口或者用户所定义一些其他区域进行捕获的工具。该工具提供了几个其他的功能,包括对所捕获的截图的边界进行美化的功能。

Gnome-screenshot 安装

Ubuntu 系统上已经预安装了 gnome-screeshot 工具,但是如果你出于某些原因需要重新安装这款软件程序,你可以使用下面的命令来进行安装:

sudo apt-get install gnome-screeshot

一旦软件安装完成后,你可以使用下面的命令来启动它:

gnome-screenshot

Gnome-screenshot 用法/特点

在这部分,我们将讨论如何使用 gnome-screenshot ,以及它提供的所有功能。

默认情况下,使用该工具且不带任何命令行选项时,就会抓取整个屏幕。

Starting Gnome Screenshot

捕获当前活动窗口

如何你需要的话,你可以使用 -w 选项限制到只对当前活动窗口截图。

gnome-screenshot -w

Capturing current active window

窗口边框

默认情况下,这个程序会将它捕获的窗口的边框包含在内,尽管还有一个明确的命令行选项 -b 可以启用此功能(以防你在某处想使用它)。以下是如何使用这个程序的:

gnome-screenshot -wb

当然,你需要同时使用 -w 选项和 -b 选项,以便捕获的是当前活动的窗口(否则,-b 将没有作用)。

更重要的是,如果你需要的话,你也可以移除窗口的边框。可以使用 -B 选项来完成。下面是你可以如何使用这个选项的一个例子:

gnome-screenshot -wB

下面是例子的截图:

Window border

添加效果到窗口边框

在 gnome-screenshot 工具的帮助下,您还可以向窗口边框添加各种效果。这可以使用 --border-effect 选项来做到。

你可以添加这款程序所提供的任何效果,比如 shadow 效果(在窗口添加阴影)、bordor 效果(在屏幕截图周围添加矩形区域)和 vintage 效果(使截图略微淡化,着色并在其周围添加矩形区域)。

gnome-screenshot --border-effect=[EFFECT]

例如,运行下面的命令添加 shadow 效果:

gnome-screenshot –border-effect=shadow

以下是 shadow 效果的示例快照:

Adding effects to window borders

请注意,上述屏幕截图主要集中在终端的一个角落,以便您清楚地看到阴影效果。

对特定区域的截图

如何你需要,你还可以使用 gnome-screenshot 程序对你电脑屏幕的某一特定区域进行截图。这可以通过使用 -a 选项来完成。

gnome-screenshot -a

当上面的命令被运行后,你的鼠标指针将会变成 '+' 这个符号。在这种模式下,你可以按住鼠标左键移动鼠标来对某个特定区域截图。

这是一个示例截图,裁剪了我的终端窗口的一小部分。

example screenshot wherein I cropped a small area of my terminal window

在截图中包含鼠标指针

默认情况下,每当你使用这个工具截图的时候,截的图中并不会包含鼠标指针。然而,这个程序是可以让你把指针包括进去的,你可以使用 -p 命令行选项做到。

gnome-screenshot -p

这是一个示例截图:

Include mouse pointer in snapshot

延时截图

截图时你还可以引入时间延迟。要做到这,你不需要给 --delay 选项赋予一个以秒为单位的值。

gnome-screenshot –delay=[SECONDS]

例如:

gnome-screenshot --delay=5

示例截图如下:

Delay in taking screenshots

以交互模式运行这个工具

这个工具还允许你使用一个单独的 -i 选项来访问其所有功能。使用这个命令行选项,用户可以在运行这个命令时使用这个工具的一个或多个功能。

gnome-screenshot -i

示例截图如下:

Run the tool in interactive mode

你可以从上面的截图中看到,-i 选项提供了对很多功能的访问,比如截取整个屏幕、截取当前窗口、选择一个区域进行截图、延时选项和特效选项等都在交互模式里。

直接保存你的截图

如果你需要的话,你可以直接将你截的图片从终端中保存到你当前的工作目录,这意味着,在这个程序运行后,它并不要求你为截取的图片输入一个文件名。这个功能可以使用 --file 命令行选项来获取,很明显,需要给它传递一个文件名。

gnome-screenshot –file=[FILENAME]

例如:

gnome-screenshot --file=ashish

示例截图如下:

Directly save your screenshot

复制到剪切板

gnome-screenshot 也允许你把你截的图复制到剪切板。这可以通过使用 -c 命令行选项做到。

gnome-screenshot -c

Copy to clipboard

在这个模式下,例如,你可以把复制的图直接粘贴到你的任何一个图片编辑器中(比如 GIMP)。

多显示器情形下的截图

如果有多个显示器连接到你的系统,你想对某一个进行截图,那么你可以使用 --then 命令行选项。需要给这个选项一个显示器设备 ID 的值(需要被截图的显示器的 ID)。

gnome-screenshot --display=[DISPLAY]

例如:

gnome-screenshot --display=VGA-0

在上面的例子中,VAG-0 是我正试图对其进行截图的显示器的 ID。为了找到你想对其进行截图的显示器的 ID,你可以使用下面的命令:

xrandr --query

为了让你明白一些,在我的例子中这个命令产生了下面的输出:

$ xrandr --query
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
1366x768 59.8*+
1024x768 75.1 75.0 60.0 
832x624 74.6 
800x600 75.0 60.3 56.2 
640x480 75.0 60.0 
720x400 70.1 
HDMI-0 disconnected (normal left inverted right x axis y axis)

自动化屏幕截图过程

正如我们之前讨论的,-a 命令行选项可以帮助我们对屏幕的某一个特定区域进行截图。然而,我们需要用鼠标手动选取这个区域。如果你想的话,你可以使用 gnome-screenshot 来自动化完成这个过程,但是在那种情形下,你将需要使用一个名为 xdotol 的工具,它可以模仿敲打键盘甚至是点击鼠标这些事件。

例如:

(gnome-screenshot -a &); sleep 0.1 && xdotool mousemove 100 100 mousedown 1 mousemove 400 400 mouseup 1

mousemove 子命令自动把鼠标指针定位到明确的 X 坐标和 Y 坐标的位置(上面例子中是 100 和 100)。mousedown 子命令触发一个与点击执行相同操作的事件(因为我们想左击,所以我们使用了参数 1),然而 mouseup 子命令触发一个执行用户释放鼠标按钮的任务的事件。

所以总而言之,上面所示的 xdotool 命令做了一项本来需要使用鼠标手动执行对同一区域进行截图的工作。特别说明,该命令把鼠标指针定位到屏幕上坐标为 100,100 的位置并选择封闭区域,直到指针到达屏幕上坐标为 400,400 的位置。所选择的区域随之被 gnome-screenshot 捕获。

这是上述命令的截图:

screenshot of the above command

这是输出的结果:

Screenshot output

想获取更多关于 xdotool 的信息,请到这来

获取帮助

如果你有疑问或者你正面临一个与该命令行的其中某个选项有关的问题,那么你可以使用 --help、-? 或者 -h 选项来获取相关信息。

gnome-screenshot -h

总结

我推荐你至少使用一次这个程序,因为它不仅对初学者来说比较简单,而且还提供功能丰富的高级用法体验。动起手来,尝试一下吧。


via: https://www.howtoforge.com/tutorial/taking-screenshots-in-linux-using-gnome-screenshot/

作者:Himanshu Arora 译者:zhousiyu325 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

我们已经从一个新手的角度了解了 Meld (包括 Meld 的安装),我们也提及了一些 Meld 中级用户常用的小技巧。如果你有印象,在新手教程中,我们说过 Meld 可以比较文件和文件夹。已经讨论过怎么比较文件,今天,我们来看看 Meld 怎么比较文件夹。

需要指出的是,本教程中的所有命令和例子都是在 Ubuntu 14.04 上测试的,使用的 Meld 版本为 3.14.2。

用 Meld 比较文件夹

打开 Meld 工具,然后选择 比较文件夹 Directory comparison 选项来比较两个文件夹。

Compare directories using Meld

选择你要比较的文件夹:

select the directories

然后单击 比较 Compare 按钮,你会看到 Meld 像图中这样分成两栏比较目录,就像文件比较一样。

Compare directories visually

分栏会树形显示这些文件夹。你可以在上图中看到 —— 区别之处,不论是新建的还是被修改过的文件 —— 都会以不同的颜色高亮显示。

根据 Meld 的官方文档可以知道,在窗口中看到的每个不同的文件或文件夹都会被突出显示。这样就很容易看出这个文件/文件夹与另一个分栏中对应位置的文件/文件夹的区别。

下表是 Meld 网站上列出的在比较文件夹时突出显示的不同字体大小/颜色/背景等代表的含义。

状态表现含义
相同正常字体比较的文件夹中所有文件/文件夹相同。
过滤后相同斜体文件夹中文件不同,但使用文本过滤器的话,文件是相同的。
修改过蓝色粗体比较的文件夹中这些文件不同。
新建绿色粗体该文件/文件夹在这个目录中存在,但其它目录中没有。
缺失置灰文本,删除线该文件/文件夹在这个目录中不存在,在在其它某个目录中存在。
错误黄色背景的红色粗体比较文件时发生错误,最常见错误原因是文件权限(例如,Meld 无法打开该文件)和文件名编码错误。

Meld 默认会列出比较文件夹中的所有内容,即使这些内容没有任何不同。当然,你也可以在工具栏中单击 相同 Same 按钮设置 Meld 不显示这些相同的文件/文件夹 —— 单击这个按钮使其不可用。

same button

Meld compare buttons

下面是单击 相同 Same 按钮使其不可用的截图:

Directory Comparison without same files

这样你会看到只显示了两个文件夹中不同的文件(新建的和修改过的)。同样,如果你单击 新建 New 按钮使其不可用,那么 Meld 就只会列出修改过的文件。所以,在比较文件夹时可以通过这些按钮自定义要显示的内容。

你可以使用工具窗口显示区的上下箭头来切换选择是显示新建的文件还是修改过的文件。要打开两个文件进行分栏比较,可以双击文件,或者单击箭头旁边的 比较 Compare 按钮。

meld compare arrow keys

提示 1:如果你仔细观察,就会看到 Meld 窗口的左边和右边有一些小条。这些条的目的是提供“简单的用颜色区分的比较结果”。对每个不同的文件/文件夹,条上就有一个小的颜色块。你可以单击每一个这样的小块跳到它对应的文件/文件夹。

提示 2:你总可以分栏比较文件,然后以你的方式合并不同的文件,假如你想要合并所有不同的文件/文件夹(就是说你想要一个特定的文件/文件夹与另一个完全相同),那么你可以用 复制到左边 Copy Left 复制到右边 Copy Right 按钮:

meld copy right part

比如,你可以在左边的分栏中选择一个文件或文件夹,然后单击 复制到右边 Copy Right 按钮,使右边对应条目完全一样。

现在,在窗口的下拉菜单中找到 过滤 Filters 按钮,它就在 相同 Same 新建 New 修改的 Modified 这三个按钮下面。这里你可以选择或取消文件的类型,告知 Meld 在比较文件夹时是否显示这种类型的文件/文件夹。官方文档解释说菜单中的这个条目表示“执行文件夹比较时该类文件名不会被查看。”

该列表中条目包括备份文件,操作系统元数据,版本控制文件、二进制文件和多媒体文件。

Meld filters

前面提到的条目也可以通过这样的方式找到:浏览->文件过滤。你可以通过 编辑->首选项->文件过滤 为这个条目增加新元素(也可以删除已经存在的元素)。

Meld preferences

要新建一个过滤条件,你需要使用一组 shell 符号,下表列出了 Meld 支持的 shell 符号:

通配符匹配
*任何字符 (例如,零个或多个字符)
?一个字符
[abc]所列字符中的任何一个
[!abc]不在所列字符中的任何一个
{cat,dog}“cat” 或 “dog” 中的一个

最重要的一点是 Meld 的文件名默认大小写敏感。也就是说,Meld 认为 readme 和 ReadMe 与 README 是不一样的文件。

幸运的是,你可以关掉 Meld 的大小写敏感。只需要打开 浏览 菜单然后选择 忽略文件名大小写 Ignore Filename Case 选项。 Meld ignore filename case

结论

你是否觉得使用 Meld 比较文件夹很容易呢 —— 事实上,我认为它相当容易。只有新建一个文件过滤器会花点时间,但是这不意味着你没必要学习创建过滤器。显然,这取决于你的需求。

另外,你甚至可以用 Meld 比较三个文件夹。想要比较三个文件夹时,你可以通过单击 三向比较 3-way comparison 复选框。今天,我们不介绍怎么比较三个文件夹,但它肯定会出现在后续的教程中。


via: https://www.howtoforge.com/tutorial/how-to-perform-directory-comparison-using-meld/

作者:Ansh 译者:vim-kakali 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

桌面共享是指通过图形终端仿真器在计算机桌面上实现远程访问和远程协作的技术。桌面共享允许两个或多个连接到网络的计算机用户在不同位置对同一个文件进行操作。

在这篇文章中,我将向你展示如何在 Ubuntu 和 Linux Mint 中启用桌面共享,并展示一些重要的安全特性。

在 Ubuntu 和 Linux Mint 上启用桌面共享

1、在 Ubuntu Dash 或 Linux Mint 菜单中,像下面的截图这样搜索 desktop sharing,搜索到以后,打开它。

Search for Desktop Sharing in Ubuntu

在 Ubuntu 中搜索 Desktop sharing

2、打开 Desktop sharing 以后,有三个关于桌面共享设置的选项:共享、安全以及通知设置。

在共享选项下面,选中选项“允许其他用户查看桌面”来启用桌面共享。另外,你还可以选中选项“允许其他用户控制你的桌面”,从而允许其他用户远程控制你的桌面。

Desktop Sharing Preferences

桌面共享偏好

3、接下来,在“安全”部分,你可以通过勾选选项“你必须确认任何对该计算机的访问”来手动确认每个远程连接。

另外,另一个有用的安全特性是通过选项“需要用户输入密码”创建一个确定的共享密码。这样当用户每次想要访问你的桌面时需要知道并输入密码。

4、对于通知,你可以勾选“仅当有人连接上时”来监视远程连接,这样每次当有人远程连接到你的桌面时,可以在通知区域查看。

Configure Desktop Sharing Set

配置桌面共享设置

当所有的桌面共享选项都设置好以后,点击“关闭”。现在,你已经在你的 Ubuntu 或 Linux Mint 上成功启用了桌面共享。

测试 Ubuntu 的远程桌面共享

你可以通过使用一个远程连接应用来进行测试,从而确保桌面共享可用。在这个例子中,我将展示上面设置的一些选项是如何工作的。

5、我将使用 VNC(虚拟网络计算)协议通过 remmina 远程连接应用连接到我的 Ubuntu PC。

Remmina Desktop Sharing Tool

Remmina 桌面共享工具

6、在点击 Ubuntu PC 以后,将会出现下面这个配置连接设置的界面,

Remmina Desktop Sharing Preferences

Remmina 桌面共享偏好

7、当执行好所有设置以后,点击连接。然后,给用户名提供 SSH 密码并点击 OK 。

Enter SSH User Password

输入 SSH 用户密码

点击确定以后,出现下面这个黑屏,这是因为在远程机器上,连接还没有确认。

Black Screen Before Confirmation

连接确认前的黑屏

8、现在,在远程机器上,我需要如下一个屏幕截图显示的那样点击 Allow 来接受远程访问请求。

Allow Remote Desktop Sharing

允许远程桌面共享

9、在接受请求以后,我就成功地连接到了远程 Ubuntu 机器的桌面。

Remote Ubuntu Desktop

远程 Ubuntu 桌面

这就是全部内容了,在这篇文章中,我们讲解了如何在 Ubuntu 和 Linux Mint 中启用桌面共享。你使用评论部分给我们写反馈。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux 系统管理员和网络开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。


via: http://www.tecmint.com/enable-desktop-sharing-in-ubuntu-linux-mint/

作者:Aaron Kili 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出