mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
Merge branch 'master' of https://github.com/LCTT/TranslateProject into new
This commit is contained in:
commit
615fcf77b9
@ -1,8 +1,9 @@
|
||||
模拟 Altair
|
||||
模拟 Altair 8800 计算机
|
||||
======
|
||||
[Altair 8800][1] 是 1975 年发布的自建家用电脑套件。Altair 基本上是第一台个人电脑,虽然这个名词好几年前就出现了。对 Dell、HP 或者 Macbook 而言它是亚当(或者夏娃)。
|
||||
|
||||
有些人认为为 Z80(与 Altair 的 Intel 8080 密切相关的处理器)编写仿真器真是太棒了,并认为它需要模拟 Altair 的控制面板。所以如果你想知道 1975 年使用电脑是什么感觉,你可以在你的 Macbook 上运行 Altair:
|
||||
[Altair 8800][1] 是 1975 年发布的自建家用电脑套件。Altair 基本上是第一台个人电脑(PC),虽然 PC 这个名词好几年前就出现了。对 Dell、HP 或者 Macbook 而言它是亚当(或者夏娃)。
|
||||
|
||||
有些人认为为 Z80(与 Altair 的 Intel 8080 密切相关的处理器)编写仿真器真是太棒了,并认为它需要一个模拟 Altair 的控制面板。所以如果你想知道 1975 年使用电脑是什么感觉,你可以在你的 Macbook 上运行 Altair:
|
||||
|
||||
![Altair 8800][2]
|
||||
|
||||
@ -22,9 +23,9 @@ $ tar -xvf z80pack-1.26.tgz
|
||||
$ cd z80pack-1.26
|
||||
```
|
||||
|
||||
控制面板模拟基于名为 `frontpanel` 的库。你必须先编译该库。如果你进入 `frontpanel` 目录,你会发现 `README` 文件列出了库自己的依赖项。你在这里的体会几乎肯定会与我的不同,但也许我的痛苦可以作为例子。我安装了依赖项,但是是通过 [Homebrew][4] 安装的。为了让库能够编译,我必须确保在 `Makefile.osx` 中将 `/usr/local/include `添加到 Clang 的 include 路径中。
|
||||
控制面板模拟基于名为 `frontpanel` 的库。你必须先编译该库。如果你进入 `frontpanel` 目录,你会发现 `README` 文件列出了这个库自己的依赖项。你在这里的体会几乎肯定会与我的不同,但也许我的痛苦可以作为例子。我安装了依赖项,但是是通过 [Homebrew][4] 安装的。为了让库能够编译,我必须确保在 `Makefile.osx` 中将 `/usr/local/include `添加到 Clang 的 include 路径中。
|
||||
|
||||
如果你觉得依赖没有问题,那么你应该就能编译库(我们现在位于 `z80pack-1.26/frontpanel`):
|
||||
如果你觉得依赖没有问题,那么你应该就能编译这个库(我们现在位于 `z80pack-1.26/frontpanel`):
|
||||
|
||||
```
|
||||
$ make -f Makefile.osx ...
|
||||
@ -42,7 +43,7 @@ $ make -f Makefile.osx clean
|
||||
|
||||
该过程将在 `z80pack-1.26/altairsim` 中创建一个名为 `altairsim` 的可执行文件。运行该可执行文件,你应该会看到标志性的 Altair 控制面板!
|
||||
|
||||
如果你想要探究,请阅读原始的[Altair 手册][5]
|
||||
如果你想要探究,请阅读原始的 [Altair 手册][5]
|
||||
|
||||
如果你喜欢这篇文章,我们每两周更新一次!在 Twitter 上关注 [@TwoBitHistory][6] 或订阅 [RSS 源][7]了解什么时候有新文章。
|
||||
|
||||
@ -53,7 +54,7 @@ via: https://twobithistory.org/2017/12/02/simulating-the-altair.html
|
||||
作者:[Two-Bit History][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -1,19 +1,20 @@
|
||||
在 Linux 上使用 systemd 设置定时器
|
||||
======
|
||||
> 学习使用 systemd 创建启动你的游戏服务器的定时器。
|
||||
|
||||
![](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/clock-650753_1920.jpg?itok=RiRyCbAP)
|
||||
|
||||
之前,我们看到了如何[手动的][1]、[在开机与关机时][2]、[在启用某个设备时][3]、[在文件系统发生改变时][4]启用与禁用 systemd 服务。
|
||||
之前,我们看到了如何[手动的][1]、[在开机与关机时][2]、[在启用某个设备时][3]、[在文件系统发生改变时][4] 启用与禁用 systemd 服务。
|
||||
|
||||
定时器增加了另一种启动服务的方式,基于...时间。尽管与定时任务很相似,但 systemd 定时器稍微地灵活一些。让我们看看它是怎么工作的。
|
||||
定时器增加了另一种启动服务的方式,基于……时间。尽管与定时任务很相似,但 systemd 定时器稍微地灵活一些。让我们看看它是怎么工作的。
|
||||
|
||||
### “定时运行”
|
||||
|
||||
让我们展开[本系列前两篇文章][2]中[你所设置的 ][1] [Minetest][5] 服务器作为如何使用定时器单元的第一个例子。如果你还没有读过那几篇文章,可以现在去看看。
|
||||
让我们展开[本系列前两篇文章][2]中[你所设置的][1] [Minetest][5] 服务器作为如何使用定时器单元的第一个例子。如果你还没有读过那几篇文章,可以现在去看看。
|
||||
|
||||
你将通过创建一个定时器来改进 Minetest 服务器,使得在定时器启动 1 分钟后运行游戏服务器而不是立即运行。这样做的原因可能是,在启动之前可能会用到其他的服务,例如发邮件给其他玩家告诉他们游戏已经准备就绪,你要确保其他的服务(例如网络)在开始前完全启动并运行。
|
||||
你将通过创建一个定时器来“改进” Minetest 服务器,使得在服务器启动 1 分钟后运行游戏服务器而不是立即运行。这样做的原因可能是,在启动之前可能会用到其他的服务,例如发邮件给其他玩家告诉他们游戏已经准备就绪,你要确保其他的服务(例如网络)在开始前完全启动并运行。
|
||||
|
||||
跳到最底下,你的 `_minetest.timer_` 单元看起来就像这样:
|
||||
最终,你的 `minetest.timer` 单元看起来就像这样:
|
||||
|
||||
```
|
||||
# minetest.timer
|
||||
@ -26,23 +27,22 @@ Unit=minetest.service
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
||||
|
||||
```
|
||||
|
||||
一点也不难吧。
|
||||
|
||||
通常,开头是 `[Unit]` 和一段描述单元作用的信息,这儿没什么新东西。`[Timer]` 这一节是新出现的,但它的作用不言自明:它包含了何时启动服务,启动哪个服务的信息。在这个例子当中,`OnBootSec` 是告诉 systemd 在系统启动后运行服务的指令。
|
||||
如以往一般,开头是 `[Unit]` 和一段描述单元作用的信息,这儿没什么新东西。`[Timer]` 这一节是新出现的,但它的作用不言自明:它包含了何时启动服务,启动哪个服务的信息。在这个例子当中,`OnBootSec` 是告诉 systemd 在系统启动后运行服务的指令。
|
||||
|
||||
其他的指令有:
|
||||
|
||||
* `OnActiveSec=`,告诉 systemd 在定时器启动后多长时间运行服务。
|
||||
* `OnStartupSec=`,同样的,它告诉 systemd 在 systemd 进程启动后多长时间运行服务。
|
||||
* `OnUnitActiveSec=`,告诉 systemd 在上次由定时器激活的服务启动后多长时间运行服务。
|
||||
* `OnUnitInactiveSec=`,告诉 systemd 在上次由定时器激活的服务停用后多长时间运行服务。
|
||||
* `OnActiveSec=`,告诉 systemd 在定时器启动后多长时间运行服务。
|
||||
* `OnStartupSec=`,同样的,它告诉 systemd 在 systemd 进程启动后多长时间运行服务。
|
||||
* `OnUnitActiveSec=`,告诉 systemd 在上次由定时器激活的服务启动后多长时间运行服务。
|
||||
* `OnUnitInactiveSec=`,告诉 systemd 在上次由定时器激活的服务停用后多长时间运行服务。
|
||||
|
||||
继续 `_minetest.timer_` 单元,`basic.target` 通常用作<ruby>后期引导服务<rt>late boot services</rt></ruby>的<ruby>同步点<rt>synchronization point</rt></ruby>。这就意味着它可以让 `_minetest.timer_` 单元运行在安装完<ruby>本地挂载点<rt>local mount points</rt></ruby>或交换设备,套接字、定时器、路径单元和其他基本的初始化进程之后。就像在[第二篇文章中 systemd 单元][2]里解释的那样,`_targets_` 就像<ruby>旧的运行等级<rt>old run levels</rt></ruby>,可以将你的计算机置于某个状态,或像这样告诉你的服务在达到某个状态后开始运行。
|
||||
继续 `minetest.timer` 单元,`basic.target` 通常用作<ruby>后期引导服务<rt>late boot services</rt></ruby>的<ruby>同步点<rt>synchronization point</rt></ruby>。这就意味着它可以让 `minetest.timer` 单元运行在安装完<ruby>本地挂载点<rt>local mount points</rt></ruby>或交换设备,套接字、定时器、路径单元和其他基本的初始化进程之后。就像在[第二篇文章中 systemd 单元][2]里解释的那样,`targets` 就像<ruby>旧的运行等级<rt>old run levels</rt></ruby>一样,可以将你的计算机置于某个状态,或像这样告诉你的服务在达到某个状态后开始运行。
|
||||
|
||||
在前两篇文章中你配置的`_minetest.service_`文件[最终][2]看起来就像这样:
|
||||
在前两篇文章中你配置的 `minetest.service` 文件[最终][2]看起来就像这样:
|
||||
|
||||
```
|
||||
# minetest.service
|
||||
@ -64,10 +64,9 @@ ExecStop= /bin/kill -2 $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy= multi-user.target
|
||||
|
||||
```
|
||||
|
||||
这儿没什么需要修改的。但是你需要将 `_mtsendmail.sh_`(发送你的 email 的脚本)从:
|
||||
这儿没什么需要修改的。但是你需要将 `mtsendmail.sh`(发送你的 email 的脚本)从:
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
@ -75,7 +74,6 @@ WantedBy= multi-user.target
|
||||
sleep 20
|
||||
echo $1 | mutt -F /home/<username>/.muttrc -s "$2" my_minetest@mailing_list.com
|
||||
sleep 10
|
||||
|
||||
```
|
||||
|
||||
改成:
|
||||
@ -84,40 +82,37 @@ sleep 10
|
||||
#!/bin/bash
|
||||
# mtsendmail.sh
|
||||
echo $1 | mutt -F /home/paul/.muttrc -s "$2" pbrown@mykolab.com
|
||||
|
||||
```
|
||||
|
||||
你做的事是去除掉 Bash 脚本中那些蹩脚的停顿。Systemd 现在正在等待。
|
||||
你做的事是去除掉 Bash 脚本中那些蹩脚的停顿。Systemd 现在来做等待。
|
||||
|
||||
### 让它运行起来
|
||||
|
||||
确保一切运作正常,禁用 `_minetest.service_`:
|
||||
确保一切运作正常,禁用 `minetest.service`:
|
||||
|
||||
```
|
||||
sudo systemctl disable minetest
|
||||
|
||||
```
|
||||
|
||||
这使得系统启动时它不会一同启动;然后,相反地,启用 `_minetest.timer_`:
|
||||
这使得系统启动时它不会一同启动;然后,相反地,启用 `minetest.timer`:
|
||||
|
||||
```
|
||||
sudo systemctl enable minetest.timer
|
||||
|
||||
```
|
||||
|
||||
现在你就可以重启服务器了,当运行`sudo journalctl -u minetest.*`后,你就会看到 `_minetest.timer_` 单元执行后大约一分钟,`_minetest.service_` 单元开始运行。
|
||||
现在你就可以重启服务器了,当运行 `sudo journalctl -u minetest.*` 后,你就会看到 `minetest.timer` 单元执行后大约一分钟,`minetest.service` 单元开始运行。
|
||||
|
||||
![minetest timer][7]
|
||||
|
||||
图 1:minetest.timer 运行大约 1 分钟后 minetest.service 开始运行
|
||||
|
||||
[经许可使用][8]
|
||||
*图 1:minetest.timer 运行大约 1 分钟后 minetest.service 开始运行*
|
||||
|
||||
### 时间的问题
|
||||
|
||||
`_minetest.timer_` 在 systemd 的日志里显示的启动时间为 09:08:33 而 `_minetest.service` 启动时间是 09:09:18,它们之间少于 1 分钟,关于这件事有几点需要说明一下:首先,请记住我们说过 `OnBootSec=` 指令是从引导完成后开始计算服务启动的时间。当 `_minetest.timer_` 的时间到来时,引导已经在几秒之前完成了。
|
||||
`minetest.timer` 在 systemd 的日志里显示的启动时间为 09:08:33 而 `minetest.service` 启动时间是 09:09:18,它们之间少于 1 分钟,关于这件事有几点需要说明一下:首先,请记住我们说过 `OnBootSec=` 指令是从引导完成后开始计算服务启动的时间。当 `minetest.timer` 的时间到来时,引导已经在几秒之前完成了。
|
||||
|
||||
另一件事情是 systemd 给自己设置了一个<ruby>误差幅度<rt>margin of error</rt></ruby>(默认是 1 分钟)来运行东西。这有助于在多个<ruby>资源密集型进程<rt>resource-intensive processes</rt></ruby>同时运行时分配负载:通过分配 1 分钟的时间,systemd 可以等待某些进程关闭。这也意味着 `_minetest.service_`会在引导完成后的 1~2 分钟之间启动。但精确的时间谁也不知道。
|
||||
另一件事情是 systemd 给自己设置了一个<ruby>误差幅度<rt>margin of error</rt></ruby>(默认是 1 分钟)来运行东西。这有助于在多个<ruby>资源密集型进程<rt>resource-intensive processes</rt></ruby>同时运行时分配负载:通过分配 1 分钟的时间,systemd 可以等待某些进程关闭。这也意味着 `minetest.service` 会在引导完成后的 1~2 分钟之间启动。但精确的时间谁也不知道。
|
||||
|
||||
作为记录,你可以用 `AccuracySec=` 指令[修改误差幅度][9]。
|
||||
顺便一提,你可以用 `AccuracySec=` 指令[修改误差幅度][9]。
|
||||
|
||||
你也可以检查系统上所有的定时器何时运行或是上次运行的时间:
|
||||
|
||||
@ -127,9 +122,7 @@ systemctl list-timers --all
|
||||
|
||||
![check timer][11]
|
||||
|
||||
图 2:检查定时器何时运行或上次运行的时间
|
||||
|
||||
[经许可使用][8]
|
||||
*图 2:检查定时器何时运行或上次运行的时间*
|
||||
|
||||
最后一件值得思考的事就是你应该用怎样的格式去表示一段时间。Systemd 在这方面非常灵活:`2 h`,`2 hours` 或 `2hr` 都可以用来表示 2 个小时。对于“秒”,你可以用 `seconds`,`second`,`sec` 和 `s`。“分”也是同样的方式:`minutes`,`minute`,`min` 和 `m`。你可以检查 `man systemd.time` 来查看 systemd 能够理解的所有时间单元。
|
||||
|
||||
@ -148,13 +141,13 @@ via: https://www.linux.com/blog/learn/intro-to-linux/2018/7/setting-timer-system
|
||||
作者:[Paul Brown][a]
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
译者:[LuuMing](https://github.com/LuuMing)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://www.linux.com/users/bro66
|
||||
[1]:https://www.linux.com/blog/learn/intro-to-linux/2018/5/writing-systemd-services-fun-and-profit
|
||||
[2]:https://www.linux.com/blog/learn/2018/5/systemd-services-beyond-starting-and-stopping
|
||||
[1]:https://linux.cn/article-9700-1.html
|
||||
[2]:https://linux.cn/article-9703-1.html
|
||||
[3]:https://www.linux.com/blog/intro-to-linux/2018/6/systemd-services-reacting-change
|
||||
[4]:https://www.linux.com/blog/learn/intro-to-linux/2018/6/systemd-services-monitoring-files-and-directories
|
||||
[5]:https://www.minetest.net/
|
@ -1,4 +1,4 @@
|
||||
Flameshot – 一个简洁但功能丰富的截图工具
|
||||
Flameshot:一个简洁但功能丰富的截图工具
|
||||
======
|
||||
|
||||
![](https://www.ostechnix.com/wp-content/uploads/2018/09/Flameshot-720x340.png)
|
||||
@ -10,11 +10,13 @@ Flameshot – 一个简洁但功能丰富的截图工具
|
||||
**在 Arch Linux 上:**
|
||||
|
||||
Flameshot 可以从 Arch LInux 的 [community] 仓库中获取。确保你已经启用了 community 仓库,然后就可以像下面展示的那样使用 pacman 来安装 Flameshot :
|
||||
|
||||
```
|
||||
$ sudo pacman -S flameshot
|
||||
```
|
||||
|
||||
它也可以从 [**AUR**][1] 中获取,所以你还可以使用任意一个 AUR 帮助程序(例如 [**Yay**][2])来在基于 Arch 的系统中安装它:
|
||||
|
||||
```
|
||||
$ yay -S flameshot-git
|
||||
```
|
||||
@ -26,6 +28,7 @@ $ sudo dnf install flameshot
|
||||
```
|
||||
|
||||
在 **Debian 10+** 和 **Ubuntu 18.04+** 中,可以使用 APT 包管理器来安装它:
|
||||
|
||||
```
|
||||
$ sudo apt install flameshot
|
||||
```
|
||||
@ -35,97 +38,105 @@ $ sudo apt install flameshot
|
||||
```
|
||||
$ sudo zypper install flameshot
|
||||
```
|
||||
|
||||
在其他的 Linux 发行版中,可以从源代码编译并安装它。编译过程中需要 **Qt version 5.3** 以及 **GCC 4.9.2** 或者它们的更高版本。
|
||||
|
||||
### 使用
|
||||
|
||||
可以从菜单或者应用启动器中启动 Flameshot。在 MATE 桌面环境,它通常可以在 **Applications - > Graphics** 下找到。
|
||||
可以从菜单或者应用启动器中启动 Flameshot。在 MATE 桌面环境,它通常可以在 “Applications -> Graphics” 下找到。
|
||||
|
||||
一旦打开了它,你就可以在系统面板中看到 Flameshot 的托盘图标。
|
||||
|
||||
**注意:**
|
||||
|
||||
假如你使用 Gnome 桌面环境,为了能够看到系统托盘图标,你需要安装 [TopIcons][3] 扩展。
|
||||
假如你使用 Gnome 桌面环境,为了能够看到系统托盘图标,你需要安装 [TopIcons][3] 扩展。
|
||||
|
||||
在 Flameshot 托盘图标上右击,你便会看到几个菜单项,例如打开配置窗口、信息窗口以及退出该应用。
|
||||
|
||||
要进行截图,只需要点击托盘图标就可以了。接着你将看到如何使用 Flameshot 的帮助窗口。选择一个截图区域,然后敲 **ENTER** 键便可以截屏了,点击右键便可以看到颜色拾取器,再敲空格键便可以查看屏幕侧边的面板。你可以使用鼠标的滚轮来增加或者减少指针的宽度。
|
||||
要进行截图,只需要点击托盘图标就可以了。接着你将看到如何使用 Flameshot 的帮助窗口。选择一个截图区域,然后敲回车键便可以截屏了,点击右键便可以看到颜色拾取器,再敲空格键便可以查看屏幕侧边的面板。你可以使用鼠标的滚轮来增加或者减少指针的宽度。
|
||||
|
||||
Flameshot 自带一系列非常好的功能,例如:
|
||||
|
||||
* 可以进行手写
|
||||
* 可以划直线
|
||||
* 可以画长方形或者圆形框
|
||||
* 可以进行长方形区域选择
|
||||
* 可以画箭头
|
||||
* 可以对要点进行标注
|
||||
* 可以添加文本
|
||||
* 可以对图片或者文字进行模糊处理
|
||||
* 可以展示图片的尺寸大小
|
||||
* 在编辑图片是可以进行撤销和重做操作
|
||||
* 可以将选择的东西复制到剪贴板
|
||||
* 可以保存选择
|
||||
* 可以离开截屏
|
||||
* 可以选择另一个 app 来打开图片
|
||||
* 可以上传图片到 imgur 网站
|
||||
* 可以将图片固定到桌面上
|
||||
* 可以进行手写
|
||||
* 可以划直线
|
||||
* 可以画长方形或者圆形框
|
||||
* 可以进行长方形区域选择
|
||||
* 可以画箭头
|
||||
* 可以对要点进行标注
|
||||
* 可以添加文本
|
||||
* 可以对图片或者文字进行模糊处理
|
||||
* 可以展示图片的尺寸大小
|
||||
* 在编辑图片是可以进行撤销和重做操作
|
||||
* 可以将选择的东西复制到剪贴板
|
||||
* 可以保存选区
|
||||
* 可以离开截屏
|
||||
* 可以选择另一个 app 来打开图片
|
||||
* 可以上传图片到 imgur 网站
|
||||
* 可以将图片固定到桌面上
|
||||
|
||||
下面是一个示例的视频:
|
||||
|
||||
<http://www.ostechnix.com/wp-content/uploads/2018/09/Flameshot-demo.mp4>
|
||||
|
||||
**快捷键**
|
||||
### 快捷键
|
||||
|
||||
Frameshot 也支持快捷键。在 Flameshot 的托盘图标上右击并点击 **Information** 窗口便可以看到在 GUI 模式下所有可用的快捷键。下面是在 GUI 模式下可用的快捷键清单:
|
||||
Frameshot 也支持快捷键。在 Flameshot 的托盘图标上右击并点击 “Information” 窗口便可以看到在 GUI 模式下所有可用的快捷键。下面是在 GUI 模式下可用的快捷键清单:
|
||||
|
||||
| 快捷键 | 描述 |
|
||||
|------------------------|------------------------------|
|
||||
| ←, ↓, ↑, → | 移动选择区域 1px |
|
||||
| Shift + ←, ↓, ↑, → | 将选择区域大小更改 1px |
|
||||
| Esc | 退出截图 |
|
||||
| Ctrl + C | 复制到粘贴板 |
|
||||
| Ctrl + S | 将选择区域保存为文件 |
|
||||
| Ctrl + Z | 撤销最近的一次操作 |
|
||||
| Right Click | 展示颜色拾取器 |
|
||||
| Mouse Wheel | 改变工具的宽度 |
|
||||
| `←`、`↓`、`↑`、`→` | 移动选择区域 1px |
|
||||
| `Shift` + `←`、`↓`、`↑`、`→` | 将选择区域大小更改 1px |
|
||||
| `Esc` | 退出截图 |
|
||||
| `Ctrl` + `C` | 复制到粘贴板 |
|
||||
| `Ctrl` + `S` | 将选择区域保存为文件 |
|
||||
| `Ctrl` + `Z` | 撤销最近的一次操作 |
|
||||
| 鼠标右键 | 展示颜色拾取器 |
|
||||
| 鼠标滚轮 | 改变工具的宽度 |
|
||||
|
||||
边按住 Shift 键并拖动选择区域的其中一个控制点将会对它相反方向的控制点做类似的拖放操作。
|
||||
边按住 `Shift` 键并拖动选择区域的其中一个控制点将会对它相反方向的控制点做类似的拖放操作。
|
||||
|
||||
**命令行选项**
|
||||
### 命令行选项
|
||||
|
||||
Flameshot 也支持一系列的命令行选项来延时截图和保存图片到自定义的路径。
|
||||
|
||||
要使用 Flameshot GUI 模式,运行:
|
||||
|
||||
```
|
||||
$ flameshot gui
|
||||
```
|
||||
|
||||
要使用 GUI 模式截屏并将你选取的区域保存到一个自定义的路径,运行:
|
||||
|
||||
```
|
||||
$ flameshot gui -p ~/myStuff/captures
|
||||
```
|
||||
|
||||
要延时 2 秒后打开 GUI 模式可以使用:
|
||||
|
||||
```
|
||||
$ flameshot gui -d 2000
|
||||
```
|
||||
|
||||
要延时 2 秒并将截图保存到一个自定义的路径(无 GUI)可以使用:
|
||||
|
||||
```
|
||||
$ flameshot full -p ~/myStuff/captures -d 2000
|
||||
```
|
||||
|
||||
要截图全屏并保存到自定义的路径和粘贴板中使用:
|
||||
|
||||
```
|
||||
$ flameshot full -c -p ~/myStuff/captures
|
||||
```
|
||||
|
||||
要在截屏中包含鼠标并将图片保存为 **PNG** 格式可以使用:
|
||||
要在截屏中包含鼠标并将图片保存为 PNG 格式可以使用:
|
||||
|
||||
```
|
||||
$ flameshot screen -r
|
||||
```
|
||||
|
||||
要对屏幕 1 进行截屏并将截屏复制到粘贴板中可以运行:
|
||||
|
||||
```
|
||||
$ flameshot screen -n 1 -c
|
||||
```
|
||||
@ -143,7 +154,7 @@ via: https://www.ostechnix.com/flameshot-a-simple-yet-powerful-feature-rich-scre
|
||||
作者:[SK][a]
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,164 @@
|
||||
Flameshot:一个简洁但功能丰富的截图工具
|
||||
======
|
||||
|
||||
![](https://www.ostechnix.com/wp-content/uploads/2018/09/Flameshot-720x340.png)
|
||||
|
||||
截图是我工作的一部分,我先前使用深度截图工具来截图,深度截图是一个简单、轻量级且非常简洁的截图工具。它自带许多功能例如窗口识别、快捷键支持、图片编辑、延时截图、社交分享、智能存储以及图片清晰度调整等功能。今天我碰巧发现了另一个具备多种功能的截图工具,它就是 **Flameshot** ,一个简单但功能丰富的针对类 Unix 系统的截图工具。它简单易用,可定制并且有选项可以支持上传截图到在线图片分享网站 **imgur** 上。同时 Flameshot 有一个 CLI 版本,所以你也可以从命令行来进行截图。Flameshot 是一个完全免费且开源的工具。在本教程中,我们将看到如何安装 Flameshot 以及如何使用它来截图。
|
||||
|
||||
### 安装 Flameshot
|
||||
|
||||
**在 Arch Linux 上:**
|
||||
|
||||
Flameshot 可以从 Arch LInux 的 [community] 仓库中获取。确保你已经启用了 community 仓库,然后就可以像下面展示的那样使用 pacman 来安装 Flameshot :
|
||||
|
||||
```
|
||||
$ sudo pacman -S flameshot
|
||||
```
|
||||
|
||||
它也可以从 [**AUR**][1] 中获取,所以你还可以使用任意一个 AUR 帮助程序(例如 [**Yay**][2])来在基于 Arch 的系统中安装它:
|
||||
|
||||
```
|
||||
$ yay -S flameshot-git
|
||||
```
|
||||
|
||||
**在 Fedora 中:**
|
||||
|
||||
```
|
||||
$ sudo dnf install flameshot
|
||||
```
|
||||
|
||||
在 **Debian 10+** 和 **Ubuntu 18.04+** 中,可以使用 APT 包管理器来安装它:
|
||||
|
||||
```
|
||||
$ sudo apt install flameshot
|
||||
```
|
||||
|
||||
**在 openSUSE 上:**
|
||||
|
||||
```
|
||||
$ sudo zypper install flameshot
|
||||
```
|
||||
|
||||
在其他的 Linux 发行版中,可以从源代码编译并安装它。编译过程中需要 **Qt version 5.3** 以及 **GCC 4.9.2** 或者它们的更高版本。
|
||||
|
||||
### 使用
|
||||
|
||||
可以从菜单或者应用启动器中启动 Flameshot。在 MATE 桌面环境,它通常可以在 “Applications -> Graphics” 下找到。
|
||||
|
||||
一旦打开了它,你就可以在系统面板中看到 Flameshot 的托盘图标。
|
||||
|
||||
**注意:**
|
||||
|
||||
假如你使用 Gnome 桌面环境,为了能够看到系统托盘图标,你需要安装 [TopIcons][3] 扩展。
|
||||
|
||||
在 Flameshot 托盘图标上右击,你便会看到几个菜单项,例如打开配置窗口、信息窗口以及退出该应用。
|
||||
|
||||
要进行截图,只需要点击托盘图标就可以了。接着你将看到如何使用 Flameshot 的帮助窗口。选择一个截图区域,然后敲回车键便可以截屏了,点击右键便可以看到颜色拾取器,再敲空格键便可以查看屏幕侧边的面板。你可以使用鼠标的滚轮来增加或者减少指针的宽度。
|
||||
|
||||
Flameshot 自带一系列非常好的功能,例如:
|
||||
|
||||
* 可以进行手写
|
||||
* 可以划直线
|
||||
* 可以画长方形或者圆形框
|
||||
* 可以进行长方形区域选择
|
||||
* 可以画箭头
|
||||
* 可以对要点进行标注
|
||||
* 可以添加文本
|
||||
* 可以对图片或者文字进行模糊处理
|
||||
* 可以展示图片的尺寸大小
|
||||
* 在编辑图片是可以进行撤销和重做操作
|
||||
* 可以将选择的东西复制到剪贴板
|
||||
* 可以保存选区
|
||||
* 可以离开截屏
|
||||
* 可以选择另一个 app 来打开图片
|
||||
* 可以上传图片到 imgur 网站
|
||||
* 可以将图片固定到桌面上
|
||||
|
||||
下面是一个示例的视频:
|
||||
|
||||
<http://www.ostechnix.com/wp-content/uploads/2018/09/Flameshot-demo.mp4>
|
||||
|
||||
### 快捷键
|
||||
|
||||
Frameshot 也支持快捷键。在 Flameshot 的托盘图标上右击并点击 “Information” 窗口便可以看到在 GUI 模式下所有可用的快捷键。下面是在 GUI 模式下可用的快捷键清单:
|
||||
|
||||
| 快捷键 | 描述 |
|
||||
|------------------------|------------------------------|
|
||||
| `←`、`↓`、`↑`、`→` | 移动选择区域 1px |
|
||||
| `Shift` + `←`、`↓`、`↑`、`→` | 将选择区域大小更改 1px |
|
||||
| `Esc` | 退出截图 |
|
||||
| `Ctrl` + `C` | 复制到粘贴板 |
|
||||
| `Ctrl` + `S` | 将选择区域保存为文件 |
|
||||
| `Ctrl` + `Z` | 撤销最近的一次操作 |
|
||||
| 鼠标右键 | 展示颜色拾取器 |
|
||||
| 鼠标滚轮 | 改变工具的宽度 |
|
||||
|
||||
边按住 `Shift` 键并拖动选择区域的其中一个控制点将会对它相反方向的控制点做类似的拖放操作。
|
||||
|
||||
### 命令行选项
|
||||
|
||||
Flameshot 也支持一系列的命令行选项来延时截图和保存图片到自定义的路径。
|
||||
|
||||
要使用 Flameshot GUI 模式,运行:
|
||||
|
||||
```
|
||||
$ flameshot gui
|
||||
```
|
||||
|
||||
要使用 GUI 模式截屏并将你选取的区域保存到一个自定义的路径,运行:
|
||||
|
||||
```
|
||||
$ flameshot gui -p ~/myStuff/captures
|
||||
```
|
||||
|
||||
要延时 2 秒后打开 GUI 模式可以使用:
|
||||
|
||||
```
|
||||
$ flameshot gui -d 2000
|
||||
```
|
||||
|
||||
要延时 2 秒并将截图保存到一个自定义的路径(无 GUI)可以使用:
|
||||
|
||||
```
|
||||
$ flameshot full -p ~/myStuff/captures -d 2000
|
||||
```
|
||||
|
||||
要截图全屏并保存到自定义的路径和粘贴板中使用:
|
||||
|
||||
```
|
||||
$ flameshot full -c -p ~/myStuff/captures
|
||||
```
|
||||
|
||||
要在截屏中包含鼠标并将图片保存为 PNG 格式可以使用:
|
||||
|
||||
```
|
||||
$ flameshot screen -r
|
||||
```
|
||||
|
||||
要对屏幕 1 进行截屏并将截屏复制到粘贴板中可以运行:
|
||||
|
||||
```
|
||||
$ flameshot screen -n 1 -c
|
||||
```
|
||||
|
||||
你还需要什么功能呢?Flameshot 拥有几乎截屏的所有功能:添加注释、编辑图片、模糊处理或者对要点做高亮等等功能。我想:在我找到它的最佳替代品之前,我将一直使用 Flameshot 来作为我当前的截图工具。请尝试一下它,你不会失望的。
|
||||
|
||||
好了,这就是今天的全部内容了。后续将有更多精彩内容,请保持关注!
|
||||
|
||||
Cheers!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.ostechnix.com/flameshot-a-simple-yet-powerful-feature-rich-screenshot-tool/
|
||||
|
||||
作者:[SK][a]
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
译者:[FSSlc](https://github.com/FSSlc)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.ostechnix.com/author/sk/
|
||||
[1]: https://aur.archlinux.org/packages/flameshot-git
|
||||
[2]: https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/
|
||||
[3]: https://extensions.gnome.org/extension/1031/topicons/
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user