「Linux」- 生产力工具

Top 19 online productivity tools
流行的服务端软件
我们在安装 Ubuntu Server 系统时,得到如下提示,确实有很多不错的软件:

参考文献
Productivity software – Wikipedia

章节列表
「HomeBank」- 免费、易用的个人记账软件 「Synergy」- 多电脑共享鼠标和键盘 「Linux」- 翻译工具 「Linux」- 团队密码管理工具(Team Password Managers) 「Passbolt」- 密码管理工具(团队、多人、密码共享) 「Linux」- 如何进行密码管理? 「iPhone and iOS」- 苹果手机管理工具[……]

READ MORE

「HomeBank」- 免费、易用的个人记账软件

问题描述
我们需要对日常开销还是要进行记录和管理。
该笔记将记录:在 Linux 中,记账软件 HomeBank 的安装、使用,及常见问题的解决方案。
解决方案
安装应用

# Ubuntu 21.04
apt-get install homebank homebank-data

参考文献
HomeBank | Free personal finance software, money management for everyone[……]

READ MORE

「Linux」- 如何进行密码管理?

问题描述
我们们有太多的密码了。今天注册了这个网站,明天注册了那个网站;今天这个卡密,明天那个口令。为了密码的安全性,我们们对于不同的站点使用了不同的密码。这势必导致我们们需要记住一堆的密码。
该笔记将记录:进行密码管理的方法,以及相关问题的处理方案。
解决方案
方法一、纯人工记忆
如果我们记忆力超强,那我们能够通过大脑直接记忆。
方法二、自定义规则算法
我们能够自定义一个运算规则。在使用密码时,以站点名或者其他因素为参数参数,使用算法,动态计算出密码。比如,通过摘取名字中的字母,取其索引。像redhat对应的密码是“1639”。用这种方法,我们的心里需要由一个算法,并能快速的生成密码。这也是我们目前正在使用的方法。
但是情况有时候也会比较复杂。比如,某些六位的口令;又或者更长的口令。
方法三、文本文档
将密码保存在普通文本文件中。更进一步,将文本文件使用GPG加密,防止密码泄漏。
我们不会采用那种把密码记录在文本文件里的方式,一来容易丢掉,二来容易暴露(明文)。对于明文,能够使用GPG加密文件,能够防止泄漏,但是在查看和修改等管理时比较麻烦。
我们曾经使用的方法就是密码存在文件里,然后对文件使用GPG加密。但是后来放弃了,因为管理过于繁琐,导致后来新增的密码都不想添加到文件中,同时也不能进行分类管理。
方法四、由应用内建的密码管理
像火狐浏览器内置了密码保存;GNOME中的某些应用借助于GNOME Keyring来存储密码。
这也是一直存储方式,但依旧不是最好的。在管理和查看时,同样会很麻烦。并且,有些站点(比如新网)在保存密码的时候,会将输入框中的密码先进行处理,这就使得浏览器里保存的密码不是真正的密码。这些工具同时依赖于特定的平台。
方法五、密码管理器(推荐)
我们不是首个遇到这些问题的人,所以应该存在针对该问题的探讨。是的,已经有人开发出密码管理工具,用于专门用来管理密码。这些工具将密码存储在加密文件中。这也是目前(08/11/2018)我们正在使用的方式。一来密码是加密存储的,二来密码能够进行分类管理,也能够添加描述。我们正在使用的工具是「KeePass」。
下面是一些与密码管理工具相关的站点和博客: Wikipedia/List of password managers Linux Password Manager: 22 Reviewed and Compared for Linux Nerds 3 password managers for the Linux command line 5 Best Linux Password Managers
这里就不再列举更多文章了。我们能够根据自己的喜好选择工具。
#[……]

READ MORE

「KeePass」- 密码管理软件(keepass2/keepassx/keepassxc)

系统环境:Debian GNU/Linux 10 (buster)
KeePassXC(推荐)
官方站点:KeePassXC Password Manager 仓库地址:keepassxreboot/keepassxc
可执行程序
/usr/bin/keepassxc /usr/bin/keepassxc-cli /usr/bin/keepassxc-proxy
存在的问题
1)笔记本合闭显示器之后,在项上单击右键无法显示菜单,并且菜单栏也无法使用。 # 07/03/2020 KeePassXC Version 2.5.4,GNOME Shell 3.30.2,Qt 5.12.7,笔记本,我们现在可以复现问题:当使用单显示器时,没问题;当使用多显示器时,在接入显示器之后,GNOME 3 会黑屏并重新设置显示器,此时就会出现右键菜单无法工作的问题,将 KeePassXC 窗口拖动到别的显示器可以正常工作,再拖回原显示器将无法工作(无法使用右键菜单)。我们猜测可能是 Qt Bug 吧,显示器重新设置影响到菜单的渲染。
keepass2
可执行程序
/usr/bin/keepass2
存在的问题
1)右键菜单不能像正常软件一样消失; 2)反应有些迟钝;
keepassx
可执行程序
/usr/bin/keepassx
存在的问题
1)菜单栏按钮无法打开,是 BUG 吧,使用 strace 显示:

recvmsg(8, 0x7fffb23d13c0, 0) = -1 EAGAIN (Resource temporarily unavailable)

参考文献
KeePass Password Safe[……]

READ MORE

「Passbolt」- 密码管理工具(团队、多人、密码共享)

问题描述
该笔记将记录:在 Linux 中,如何部署 Passbolt 服务,以及相关问题的处理方法。
解决方案
参考 Docker passbolt installation 文档,以获取更多帮助内容。
我们使用 Docker Compose 进行部署:
第一步、启动服务

git clone https://github.com/passbolt/passbolt_docker passbolt
cd passbolt

# 修改 MySQL 信息
vim env/mysql.env

# 修改 Passbolt 配置信息
vim env/passbolt.env

# 添加邮箱配置,否则无法登录注册(我们这里使用企鹅邮箱)
vim env/passbolt.env

EMAIL_DEFAULT_FROM=k4nz@example.com
EMAIL_TRANSPORT_DEFAULT_HOST=smtp.exmail.qq.com
EMAIL_TRANSPORT_DEFAULT_PORT=587
EMAIL_TRANSPORT_DEFAULT_USERNAME=k4nz@example.com
EMAIL_TRANSPORT_DEFAULT_PASSWORD=vNkckZj5FuY
EMAIL_TRANSPORT_DEFAULT_TLS=true

# 启动服务
docker-compose -f docker-compose.yml up -d

第二步、初始化配置

# 添加管理员帐号
docker-compose exec passbolt su -m -c “/usr/share/php/passbolt/bin/cake \
passbolt register_user \
-u <k4nz@example.com> \
-f <k4nz> \
-l <k4nzdroid> \
-r admin” -s /bin/sh www-data

# 测试邮件功能是否正常
docker-compose exec passbolt su -m \
-s /bin/sh www-data \
-c “/usr/share/php/passbolt/bi[……]

READ MORE

「Linux」- 团队密码管理工具(Team Password Managers)

问题描述
我们很多第三方服务相关的帐号、密码、TOKEN、SECRET、URL(Secret),这些都需要进行记录。我们还会为团队成员创建各种帐号,而且并不是所有内部服务都支持 LDAP 集成。我们还有很多自己服务,管理员的帐号密码也需要记录。某些特殊主机的帐号密码,也需要独立记录。
除此之外,凭证信息如何下发,团队成员之间的如何共享,信息修改后如何通知,凭证信息的日常备份,这些都需要有工具很好的支持。
该笔记将记录:能满足这些要求的、适合团队使用的密码管理工具,以及相关问题的解决方案。
解决方案
Bitwarden
Bitwarden Open Source Password Manager | Bitwarden GitHub/Bitwarden
参考 Install and Deploy 文档,进行服务自建,以体验其功能。
体验: 1)自建服务只能个人使用,不能在团队和组织内使用。这不能满足我们的需求; 2)遇到提示 Error: Cannot read property ‘importKey’ 错误,需要 HTTPS 服务(Cannot read property ‘importKey’ of null) 3)HTTPS 证书配置路径为 ./bwdata/ssl 目录,这与 certbot 的 /etc/letsencrypt/ 目录集成存在困难(或许可以绑定挂载过去)。
Passbolt
Passbolt | Open source password manager for teams passbolt/passbolt_api: Passbolt CE Backend, a JSON API written with Cakephp
参考 Passbolt (Web) 文档,进行服务自建,以体验其功能。
体验: 1)能够在团队内使用:能够添加用户、能够分享密码、能够创建目录以归类密码。这能满足我们的需求。 2)服务的部署也相对比较简单;未强制使用 HTTPS(建议使用 HTTPS 配置) 3)但是团队成员无法看到其他人创建的目录。(或许能够通过创建更多的描述及标签来弥补)
参考文献
Recommendations on Team Password Managers | Access Now Digital Security Helpline Public Documentation Passbolt | Open source password manager for teams passbolt/passbolt_api: Passbolt CE Backend, a JSON API written with Cakephp[……]

READ MORE

「Linux」- 桌面投屏

问题描述
该笔记将记录:在 Linux 中,进行无线投屏的方法,及常见问题处理方法。
解决方案
Miracast(”HDMI over Wi-Fi”)
Miracast,是个标准(由 Wi-Fi 联盟提出),是我们常说的“无线投屏”功能(但是还是有区别的)。
使用 Miracast 进行无线投屏,需要无线网卡支持 Wi-Fi Direct(Wi-Fi Peer-to-Peer),两台设备通过 Wi-Fi 直连 Peer to Peer 的方式;
其他解决方案
albfan/miraclecast: Connect external monitors to your system via Wifi-Display specification also known as Miracast GNOME / gnome-network-displays · GitLab Install alfacast screen mirror for Linux using the Snap Store | Snapcraft
参考文献
Miracast – Wikipedia wireless – Ubuntu as Miracast Sender/receiver – Ask Ubuntu[……]

READ MORE

「Share mouse and keyboard」- 共享鼠标键盘

相关链接
Synergy Alternatives and Similar Software – AlternativeTo.net

章节列表
「Barrier」- 多电脑共享鼠标和键盘(替代 Synergy 程序) 「Synergy」- 编译安装(2.0.0) 「Synergy」- 安装 「Synergy」- 编译安装(1.8.8) 「Synergy」- 使用配置 「Synergy」- 多电脑共享鼠标和键盘[……]

READ MORE

「Barrier」- 多电脑共享鼠标和键盘(替代 Synergy 程序)

KVM switch(keyboard, video, and mouse switch)的软件实现,该项目从 synergy 1.9 分叉出来。
Barrier 更加专注与共享鼠标键盘功能。
安装方法
Debian GNU/Linux 10 (buster)

apt-get install barrier

macOS Sierra (Version 10.12.6)
访问 Releases · debauchee/barrier 下载 Barrier-x.x.x-release.dmg 文件。对于 macOS Sierra 可以下载并成功安装 barrier-2.0.0.dmg 版本,但是不能安装 Barrier-2.3.3-release.dmg 版本(系统不兼容),两者直接的版本我们没有试用。
然后,执行 dmg 文件安装,这里不再赘述。
相关链接
Install barrier for Linux using the Snap Store | Snapcraft debauchee/barrier: Open-source KVM software[……]

READ MORE

「Synergy」- 多电脑共享鼠标和键盘

注意事项
目前(09/28/2020),建议使用 Barrier(forked from symless/synergy-core)的替代 Synergy 产品。
如果坚持使用 Synergy 产品,建议参考 Synergy/Installation 笔记的「使用 二进制包 安装」部分。
它是做什么的?
它是鼠标键盘共享软件,用于在多台计算机之间共享键盘和鼠标,使多台计算机共用一套鼠标和键盘。如下图(三台主机,一套键鼠):

提供哪些功能?
Synergy提供的功能有: 1)共享鼠标 2)共享键盘 3)共享剪切板(尽量保持Client和Server的版本相同。我的环境中Server是1.7,而Client是1.8,此种情况下无法实现共享剪切板) 4)屏保(Wiki上是这么说的,但是没有相关的文档及案例) 5)带有SSL加密传输(1.7+引入SSL加密)
截止 1.8.8,目前(05/04/2019)正在使用的版本。
工作原理简述
Synergy 属于 Client / Server 架构: 1)Server:拥有鼠标键盘的主机 2)Client:其他的主机(没有键盘和鼠标的机器)
Synergy 使用 TCP/IP 通信,使用 24800 端口,用于在计算机之间发送鼠标、键盘、剪贴板事件。
参考文献
访问Synergy主页 访问该项目GitHub主页 Wikipedia/Synergy_(software) Compile Instructions[……]

READ MORE

「Synergy」- 安装

注意事项
目前(09/28/2020),建议使用 Barrier(forked from symless/synergy-core)的替代 Synergy 产品。
如果坚持使用 Synergy 产品,建议参考 Synergy/Installation 笔记的「使用 二进制包 安装」部分。
通过 二进制包 安装
虽然官方未提供已编译的二进制包,但是我们能够使用第三方提供的二进制包: 1)GitHub/brahma-dev/synergy-stable-builds => 第三方主页 2)Downloads [Free] | Synergy => 下载页面,提供多个版本二进制包(Windows Linux macOS)
通过从发行版仓库安装

# Kali GNU/Linux Rolling
apt-get install synergy

通过源码编译安装
Installation v1.8.8 Installation v2.0.0
安装的可执行程序
synergy 主程序文件,即提供Client功能,也提供Server功能。 详细内容,查看“Synergy的配置及使用”章节。
synergyc
synergyd
synergys
syntool、integtests、unittests、usynergy[……]

READ MORE

「Synergy」- 编译安装(1.8.8)

注意事项
目前(09/28/2020),建议使用 Barrier(forked from symless/synergy-core)的替代 Synergy 产品。
如果坚持使用 Synergy 产品,建议参考 Synergy/Installation 笔记的「使用 二进制包 安装」部分。
源码编译安装(Linux)
详细的编译细节可以参考Github仓库中的Wiki:https://github.com/symless/synergy-core/wiki/Compiling 编译通过的系统:Kali GNU/Linux Rolling、Max OSX 10.12.6
系统环境:Kali GNU/Linux Rolling Synergy版本:1.8.8 最后更新时间:10/26/2017
安装依赖,准备,编译,安装:

# 安装依赖(参照文档中的Debian7/8)
apt-get install build-essential cmake libavahi-compat-libdnssd-dev \
libcurl4-openssl-dev libssl-dev lintian python \
qt4-dev-tools xorg-dev fakeroot

# 注意:OpenSSL的版本需要使1.0的,所以头文件的版本要安装1.0的
apt-get install libssl1.0-dev

# 下载源码并进入源码目录,Github Repo:https://github.com/symless/synergy-core
git clone https://github.com/symless/synergy-core.git
cd synergy-core

# 如果主分支的版本是1.8.8以上的,那就切换到version 1.8。8
git checkout tags/v1.8.8-stable

# 准备,编译,安装
./hm.sh conf -g1
./hm.sh build

# 最终编译生成的文件位于bin下。没有make install命令。

源码编译安装(macOS)
Mac OSX中安装Synergy,依旧是参考Github仓库中的Wiki:https://github.com/symless/synergy-core/wiki/Compiling
系统环境:Max OSX 10.12.6 Synergy版本:1.8.8
安装依赖,准备,编译,安装:

########################################################################################[……]

READ MORE

「Synergy」- 编译安装(2.0.0)

注意事项
目前(09/28/2020),建议使用 Barrier(forked from symless/synergy-core)的替代 Synergy 产品。
如果坚持使用 Synergy 产品,建议参考 Synergy/Installation 笔记的「使用 二进制包 安装」部分。
源码编译安装(Linux)
虽然官网提供编译好的包,但是要付费购买。
详细的编译细节可以参考 Github 仓库中的 Wiki:https://github.com/symless/synergy-core/wiki/Compiling 编译通过的系统:Kali GNU/Linux Rolling、Max OSX 10.12.6
系统环境:Kali GNU/Linux Rolling Synergy版本:2.0.0
安装依赖,准备,编译,安装:

# 安装依赖(参照文档中的Debian7/8)
apt-get install build-essential cmake libavahi-compat-libdnssd-dev \
libcurl4-openssl-dev libssl-dev lintian python \
qt4-dev-tools xorg-dev fakeroot

# 下载源码Github Repo:https://github.com/symless/synergy-core
git clone https://github.com/symless/synergy-core.git
cd synergy-core

# 构建并编译
mkdir build && cd build
cmake ..
make

# 最终编译生成的文件位于build/bin下。

源码编译安装(macOS)
Mac OSX中安装Synergy,依旧是参考Github仓库中的Wiki:https://github.com/symless/synergy-core/wiki/Compiling
系统环境:Max OSX 10.12.6 Synergy版本:2.0.0
安装依赖,准备,编译,安装:

# Install Homebrew

# Install XCode (also available via the Mac App Store)
# You may need to open XCode, go to Preferences, select Locations, and then make sure an option is selected for Command Line Tools.
# Install cmake, Qt,[……]

READ MORE

「Synergy」- 使用配置

注意事项
目前(09/28/2020),建议使用 Barrier(forked from symless/synergy-core)的替代 Synergy 产品。
如果坚持使用 Synergy 产品,建议参考 Synergy/Installation 笔记的「使用 二进制包 安装」部分。
配置及使用
运行synergy,因为是C/S架构,所以Client和Server都要运行synergy(synergy即提供Client功能,也提供Server功能),只是这两个端的配置不一样。
Client的配置

Client需要勾选“Client(xxxxxxxxxx)”,然后在“Server IP”中填写服务端的IP地址,然后点击右下角的“Start”按钮,启动之后“Start”按钮会变为“Stop”,如上图所示。
Server的配置

Server需要勾选“Server(xxxxxxxxxxxx)”,然后在“Configure Server”中设置显示器的位置,显示器的位置是通过“Screen name“来对应的。然后点击右下角的“Start”按钮,启动之后“Start”按钮会变为“Stop”,如上图所示。
注意:Client的”Screen name”,必须是在“Configure Server”中存在的。[……]

READ MORE

「Linux」- 将网页应用变为桌面应用

问题描述
我们使用 Teambition 办公协作,但是这个软件没有桌面版,只有网页版。在日常使用中,我们经常会打开很多浏览器页面,当这些页面混合在一起,多个页面间切换时间很麻烦的事情。
虽然可以 Pin 标签,或者收藏,但是终究还是很麻烦,不够方便。所以我们希望能够解决这个问题。
解决方法
在 Ubuntu 中(旧版,具体版本已经忘记),我们见过桌面 Amazon 图标,用于打开 Amazon 网站。我们也在某些 Linux 发行版中见过 Gmail 桌面图标,双击将直接在浏览器中打开 Gmail 邮箱。
所以我们希望也可以使用类似的方式,来解决我们的问题。经过一番查找,得到以下解决方法:
第一种、使用 Chrome 保存
使用方法
该方法类似于 Amazon 图标或 Gmail 图标的功能,双击之后将在独立的浏览器窗口中打开页面。方法如下:
1)Click “the 3 dots” on the top-right corner 2)Click More tools 3)Click Create shortcut…
如果未选 Open as window 选择框,将会在桌面创建 .desktop 文件,双击即可打开页面(但是页面会在当前浏览器窗口打开)。 如果选择 Open as window 选择框,将会直接以窗口方式打开当前页面,而不会创建 .desktop 图标文件。
第二种、使用 nativefier 工具(推荐)
该方法更好,使用 nativefier 工具会将网页嵌套到 Electorn 中,生成独立的应用(具体原理我们不懂,可能还是嵌套在 Webview 之类的组件中吧,断网之后整个就是空白页,还能够使用 Ctrl + R 进行强制刷新,这对于我们来说足够了)。
配置方法
这里不再记录如何安装 nativefier 工具,参考 GitHub – jiahaog/nativefier 页面即可。
这里简单记录使用 nativefier 创建应用的命令:

nativefier –verbose \
–name teambition \
–icon ./logo-one.png \
“https://account.teambition.com/login”

# 对于上述命令:
# –verbose 查看创建过程日志
# –name 执行应用程序名,在我们的场景中,将输出到 teambition-linux-x64 目录
# –icon 指定应用图标,否则任务栏将无法显示应用图标
# “https://xxxx” 指定将要打开的页面

sudo chown -v root: teambition[……]

READ MORE

「Linux」- 翻译工具

翻译工具
一帆文档翻译 | PDF翻译,就用一帆 https://fanyipdf.com/
有道词典(for Linux)
Linux版 – 有道词典
# 05/04/2022 该部分内容记录于很久之前(或许是 2018 年之前),已近乎失效。当时是 youdao-dict v1.1 版本,现在已更新到 youdao-dict v6.0 版本。鉴于我们不再使用有道词典,所以此部分内容未再更新。

### Debian

# 安装依赖
apt-get install python3-pyqt5 python3-pyqt5.qtwebkit python3-xlib \
python3-lxml python3-pyqt5.qtquick

# 下载有道词典 Linux 版
# http://cidian.youdao.com/index-linux.html
# 我们下载的是tar.gz的压缩包,没有下载deb包。
wget …

# 解压 tar.gz 文件:
mkdir youdao-dic && tar -xf youdao-dict_1.1.0-0~amd64.tar.gz -C youdao-dic

#进入目录 youdao-dic 并执行 install.sh 脚本:
cd youdao-dic && chmod u+x install.sh && ./install.sh

# 启动有道字典
youdao-dict

No module named ‘PyQt5’

Traceback (most recent call last):
File “/usr/bin/youdao-dict”, line 27, in <module>
from dae.daeclient import DAEClient
File “/usr/share/youdao-dict/dae/daeclient.py”, line 31, in <module>
from PyQt5.Qt import QApplication
ModuleNotFoundError: No module named ‘PyQt5’

原因:缺少PYQt5模块。 解决:apt-get install python3-pyqt5
No module named ‘PyQt5.QtWebKitWidgets’

Traceback (most recent call last):
File “/usr/bin/youdao-dict”, line 27, in <module>
from[……]

READ MORE

「Linux」- 访问苹果手机相册

该笔记将记录:在 Linux 上访问 IPhone 手机方法
第一步、安装挂载工具

apt-get install ifuse

第二步、接入苹果手机
首先,通过 USB 将手机接入电脑
1)在手机上点击信任,否则电脑无法访问手机。 2)如果没有提示选择信任:可能是 USB 接口有问题(我们遇到的问题),通过更换接口解决;或者其他原因,可以尝试 Settings > General > Reset > Reset Location & Privacy 操作解决;
然后,执行 lsusb 确认连接成功

# lsusb | grep Apple
Bus 003 Device 040: ID 05ac:12a8 Apple, Inc. iPhone5/5C/5S/6

第三步、挂载手机存储

ifuse ‘/path/to/mountpoint’

第四步、访问照片数据
如果使用 Nautilus 文件管理器,可以在左侧导航看到 iPhone 按钮。
或者可以访问 /path/to/mountpoint/DCIM 目录。
参考文献
YouTube/How to access your iPhone on Linux About the ‘Trust This Computer’ alert on your iPhone, iPad, or iPod touch[……]

READ MORE

「iPhone」- 删除所有照片

iOS 13.1.2
How to Delete All Photos from iPhone 11 in iOS 13 – EaseUS
打开 Photos 应用 => 点击 Albums 标签 => 找到 Media Types 项目,并点击某个类别 => 点击 Select 按钮(右上角) => 点击 Select All 按钮(左上角) => 点击垃圾箱图标(右下角)[……]

READ MORE

「Linux」- 如何突破网络下载限速?

问题描述
公司的网络限速了,峰值在600KB/s左右。所以啊,下载个900M的系统镜像……emmmmm……
本文将讨论几种方法来”突破“这种限制,更准确的说法是“绕过”。
方法一、多网卡 + HTTP的断点续传
#1 准备3张无线网卡,连接Wi-Fi,配置默认路由
准备三张无线网卡,连接无线,分配IP地址,配置默认路由。
大概要执行如下这些命令。这里简单描述,不探讨太多的细节,根据你的环境可能会有所差异:

systemctl start wpa_supplicant@wlx00e62d0333fc.service wpa_supplicant@wlx00e62d033399.service wpa_supplicant@wlx00e02d0400a6.service

dhclient -v wlx00e62d0333fc
dhclient -v wlx00e62d033399
dhclient -v wlx00e02d0400a6

route add default gw 192.168.1.1 dev wlx00e62d0333fc
route add default gw 192.168.1.1 dev wlx00e62d033399
route add default gw 192.168.1.1 dev wlx00e02d0400a6

到此,硬件已经准备好了,第一步已经完成了。
#2 发送HEAD请求,获取文件大小
发送HTTP中的HEAD方法来获取文件的大小,执行如下命令:

#!/bin/sh

curl -s –head http://mirror.bit.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso \
| $(which grep) -i -E ‘Content-Length:’ \
| awk ‘{print $2}’

上述命令输出“950009856”,该值是要下载的文件的大小。
我们将文件拆成三部分:“0-316669952”、“316669953-633339904”、“633339905-950009856”。拆成三部分是为了后面的断点续传。
至此,第二步已经完成了。接下来,可以“并行”断点续传了。
#3 执行并行的断点续传
执行如下的三个命令进行断点续传:

# curl –interface wlx00e02d0400a6 -o /tmp/p1 –header “Range: bytes=0-316669952” \
http://mirror.bit.edu.cn/cento[……]

READ MORE

「Linux」- Transmission(下载工具)

问题描述
该笔记将记录:在 Linux Desktop 中,使用 Transmission 下载工具的方法,以及相关问题处理。
解决方案
安装 Transmission 工具

# on Ubuntu
add-apt-repository ppa:transmissionbt/ppa
apt-get install transmission-common transmission-cli transmission-gtk transmission-daemon

使用 transmission-cli 命令
transmission-cli 是个独立的命令行下载工具,能够直接进行下载:

transmission-cli ‘http://releases.ubuntu.com/16.10/ubuntu-16.10-desktop-amd64.iso.torrent’ -w ~/Downloads

transmission-cli ‘magnet:?xt=urn:btih:e249fe4dc957be4b4ce3ecaac280fdf1c71bc5bb&dn=ubuntu-mate-16.10-desktop-amd64.iso’ -w ~/Downloads

使用 transmission-gtk 界面
transmission-gtk 是个独立的图形化界面,通过交互方式完成下载任务。
鉴于使用简单,这里不再说明。
使用 transmission-daemon 服务
transmission-daemon 是个 Web 服务,允许我们在后台完成下载任务

systemctl start transmission-daemon.service

# 浏览器访问 http://server-ip:9091 地址
# 帐号密码:transmission:transmission

# 或者,使用 transmission-remote 添加任务
transmission-remote –auth ‘transmission:transmission’ \
‘http://releases.ubuntu.com/16.10/ubuntu-16.10-desktop-amd64.iso.torrent’

参考文献
Transmission bittorrent – Is it possible to retrieve magnet link via transmission-remote? – Super User TransmissionHowTo – Community Help Wiki[……]

READ MORE

「Linux」- 基于Web的下载工具

基于 Web 的下载工具
某些资源的网络质量不好,可以放在海外的服务器上下载,然后再取回。
我们能够安装某些基于 Web 的下载工具,然后运行在服务器上,进行下载任务的管理。
Aria2 and WebUI-Aria2
Aria2: http://aria2.sourceforge.net
WebUI-Aria2: https://github.com/ziahamza/webui-aria2[……]

READ MORE

「Linux」- eD2k 客户端

aMule
访问aMule主页
安装aMule
系统的源中一般有aMule。更新下源,安装即可。安装命令如下:

# apt-get update
# apt-get install amule-dlp

如果源中没有aMule,则需要手动添加源了,具体的操作方法参照官方安装手册就好了。
安装完成后的简单设置

ID最好设置为比较冷的ID名。ID可以在「Preferences」=>「General」=>「Nick」中设置。点击「OK」保存并退出。
路由器配置映射端口:4662(tcp)、4672(udp)。
服务器列表更新地址:

打开amule,「Preferences」=>「Servers」=> 点击「List」=> 填入http://ed2k.2x4u.de/v1s4vbaf/max/server.met=>点击「OK」退出设置页面 ;
勾选「auto-update server list at startup」;
单击「OK」退出简单配置;

我在「Preferences」=>「Directories」是这样选的:

对于想永久保存的文件,会放在硬盘的目录中。
对于临时下载目录,我使用了一个临时的目录,这个目录是挂载在内存中的,以此减少硬盘的I/O。

MLDonkey
项目主页:http://mldonkey.sourceforge.net/ 这个没用过,但是网上有人推荐了它。如果你对aMule不满意的话可以尝试使用MLDonkey。
其他的客户端
其他的客户端可以参考 维基百科中的eDonkey软件对照。从对照结果上来看,还是NeoMule的功能和特性会多一些。
参考文献
Wikipedia/Comparison of proxifiers aMule安装及使用教程参考[……]

READ MORE

「Linux」- 我们常用的音乐播放器

问题描述
该部分笔记将整理:在 Linux 下,我们使用过的音乐播放软件及处理软件。
解决方案
Rhythmbox – a music playing application for GNOME.
Apps/Rhythmbox – GNOME Wiki!
播放 .m4a 文件:apt-get install gstreamer1.0-libav
DeadBeaf – 音乐播放器
NetEase Cloud Music – 网易云音乐
Audacity – 音频处理软件
Clementine – 音频播放软件
音乐下载站点
HiFiNi – 音乐磁场 | https://hifini.com https://www.hungama.com/music/english/
参考文献
Best 15 Linux Music Player Software for the Music Lover[……]

READ MORE

「Linux」- 搭建属于自己的音乐网站

问题描述
我们曾经搭建属于自己的视频网站,用来管理自己的影音视频、学习视频等等,并非运营视频网站。
现在我们想搭建属于自己的音乐网站,主要目的:用来存放自己喜欢的音乐,而不是运营音乐站点。
解决方案
我们很少会成为首个遇到某些问题的人,需要做的只是多进行搜索。
下面是搜到的解决方案: 1)Airsonic:airsonic/airsonic: Airsonic, a Free and Open Source community driven media server (fork of Subsonic and Libresonic) 2)Ampache:ampache/ampache: A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.
# 08/09/2021 我们现在使用 Home Media Solutions/Emby 服务,因此不再需要搭建自己的音乐网站。
参考文献
Selfhosted music player/Spotify : selfhosted[……]

READ MORE

「Linux」- 安装网易云音乐(Neteast Cloud Music)

问题描述
我们想在 Ubuntu 20.04 LTS 中安装网易云音乐(Neteast Cloud Music),自然是用来播放音乐。
该笔记将记录:在 Debian 及衍生版(比如 Ubuntu)中安装网易云音乐方法
解决方案
有三种安装方法,分别用于不同的安装场景: 1)受到官方支持的发行版。比如 Ubuntu 18.04、Deepin 15 发行版 2)未受官方支持的发行版,但是为 Debian 的衍生版。比如 Kali Linux、Debian 等等 3)未受官方支持的发行版,并且非 Debian 的衍生版。比如 CentOS、Fedora 等等。
方法一、受到官方支持的发行版
比如官方提供 Ubuntu 18.04 安装包,直接使用 dpkg 命令进行安装(这里不再进行深入的介绍)。例如:

dpkg -i netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb

方法二、未受官方支持的发行版,但是为 Debian 的衍生版
该方法适用于「未受官方支持的发行版,但是为 Debian 衍生版」的 Linux 发行版的安装,比如 我们想在 Kali Linux 中安装网易云音乐。
该方法是为了解决我们最关心的问题:不要破坏原有的软件包依赖关系;
为此,1)我们先手动安装依赖包,而不是依靠 APT 自己解决以来关系;2)然后最后手动安装 .deb 网易云音乐的应用包;
方法三、未受官方支持的发行版,并且非 Debian 的衍生版
虽然官方只提供某些发行版的二进制包,但是都是 x86 平台的呀(如果非 x86 平台的就算了),步骤如下: 1)使用 dpkg -x 命令解压 .deb 安装包 2)然后使用 ldd 找找库文件,搞一下就行了;
然而,我们只提供思路,并不想折腾。毕竟,对于我们来说,用手机播放也可以,何苦。
# 09/21/2020 获取可以封装到 Docker 中运行 :-)
方法一、在 Ubuntu 20.04 LTS 中,安装网易云音乐
官方提供 ubuntu 18.04 (64位),原则上不能用于 Ubuntu 20.04 LTS 发行版,可能会破坏依赖关系,但是我们懒呀(那就铤而走险,后果自负):

dpkg -i netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb

方法二、在 Kali Linux rolling 中,安装网易云音乐
我们这里使用 # 方法二 # 安装(因为官方没有提供适用于 Kali Linux 的安装包,所以不能使用 # 方法一 # 安装,否则肯能会破坏软件包的依赖关[……]

READ MORE

「Spotify」- 声田

声田(Spotify),全球最大的正版流媒体音乐服务平台。
官网地址:https://www.spotify.com/us
# On Debian

#!/bin/bash

# 1. Add the Spotify repository signing keys to be able to verify downloaded packages
apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys 0DF731E45CE24F27EEEB1450EFDC8610341D9410

# 2. Add the Spotify repository
echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list

# 3. Update list of available packages
apt-get update

# 4. Install Spotify
apt-get install spotify-client[……]

READ MORE

「Linux」- 图片操作

图片查看应用
4 lightweight image viewers for the Linux desktop
Image Viewer
Any app on Ubuntu to open and/or convert HEIF pictures (.HEIC, High Efficiency Image File Format)?
The GNOME image viewer.
安装 apt install heif-gdk-pixbuf 之后,能够查看 HEIF 文件。
Shotwell
Apps/Shotwell – GNOME Wiki!
能够对图片进行编辑;
GPicView
Lightweight image viewer from LXDE project http://wiki.lxde.org/en/GPicView
Mirage
显示文件夹中图片缩略列表、图片缩放、镜像图片、大小调整、剪裁;
Nomacs
功能强大,支持图片简单编辑,QT 界面;
Ristretto
显示文件夹中图片缩略列表、幻灯播放、图片缩放、镜像图片;
简单轻量工具
Feh,feh 命令能够用来显示图片;
display,是在 ImageMagic 中的命令,能够用来查看图片
ExifTool
Homepage: https://sno.phy.queensu.ca/~phil/exiftool Wikipedia / ExifTool: https://en.wikipedia.org/wiki/ExifTool
Exiv2
Homepage: http://www.exiv2.org
GIMP
GIPHY
https://giphy.com/
GIF 图片检索站点
常用命令
在目录中,找到全部图片
ImageMagick – Format and Print Image Properties command line – Find images in a Linux directory based on their resolution – Ask Ubuntu
通过 identify 命令,以获取图片格式:

# 如下命令,搜索比较宽泛:只要 identify 能够识别,则视为图片
find ./ -type f -print0 | xargs -0 -i bash -c ‘test -n “$(identify -format “%m” “{}” 2>/dev/null)” && echo “{}”‘

# 如下命令,缩小搜索范围(为[……]

READ MORE

「Linux」- 截图工具

问题描述
虽然我们在 Linux 中办公(编程),但是许多日常工作需求与在 Windows 下是及其相似的。比如,该笔记将记录的截图。所谓一图胜千言,截图操作是在日常沟通中的重要操作,在某些留证说明中也要使用截图。不管是用 Windows macOS Linux 系统,截图都是我们必须要进行的事情。
所以,拥有一款好用的截图软件为非常必要的。在 Windows 中,我们能够使用某些通讯工具内置的截图功能。但是,在 Linux 中,就需要自己折腾(自行寻找合适的工具,或者自行开发)。
该笔记将记录:在 Linux 中,我们用过的截图工具,以及使用经验、常用问题处理等等。
解决方案
GNOME Screenshot

功能特性
GNOME Screenshot 是 GNOME 自带的截图工具,我们最早使用的截图软件。具有以下功能: 1)截取屏幕、截图特定窗口、截取特定区域; 2)并且,能够在截图前进行短暂停顿,以允许用户进行准备; 3)还有些效果设置,比如:截图是否包含鼠标、边框等等; 4)在截图后,能够复制到剪贴板,或者保存到目录;
安装运行

apt-get install gnome-screenshot
gnome-screenshot -i # 默认截图,使用选项 -i 显示图形界面

常用设置
1)修改默认截图使用 jpg 格式:gsettings set org.gnome.gnome-screenshot default-file-type jpg
使用体验
现在(03/21/2021),我们放弃使用 GNOME Screenshot 工具,原因是我们需要在图片中注解、打码、标注等等,但是该工具还未支持这些功能(gnome-screenshot 3.36.0)。但也未完全放弃:在进行特定窗口截图时,我们还会使用该应用(在 Linux 中就是这个样子 —— 某些问题就是需要同时使用多种工具才能解决)。
Scrot (SCReenshOT)
功能特性
Scrot 是命令行截图工具,因此交互性较弱,但能够用于某些脚本任务。具有以下功能: 1)能够支持区域选择、截图特定窗口; 2)针对图片:多种格式、质量优化、追加文本; 3)以及,定义格式化的图片名称、在截图后运行其他程序等等;
安装运行

apt-get install scrot
scrot ‘%Y-%m-%d_$wx$h_scrot.png’ -e ‘mv $f ~/images/shots/’ # 截图,然后移动到指定目录下

使用体验
我们还未使用该工具,毕竟截图无法保存到剪贴板,且无法进行编辑,这与我们的需求不符。但是,正如该工具的介绍所说,我们能够将[……]

READ MORE

「ImageMagick」- 常用命令及常见问题

ImageMagick,用于读取、写入、操作各种图像格式的图像。
安装程序
从发行版的源中安装

apt-get install $(apt-cache search imagemagick | grep -iE ‘^ImageMagick’ | awk ‘{printf”%s “, $1}’)

使用源码安装 参考:BLFS/ImageMagick-6.9.5-8: http://www.linuxfromscratch.org/blfs/view/7.10/general/imagemagick.html
安装的可执行程序
animate | animates a sequence of images. compare | compares an image to a reconstructed image. conjure | processes a MSL script to create an image. display | displays an image. identify | 描述出一张图片的格式、特征及其他的元信息。 import | captures an X window. Magick{,++,Core,Wand}-config | show information about the installed versions of the ImageMagick libraries. mogrify | transforms an image. montage | composites various images into a new image. stream | streams one or more pixel components of an image or portion of the image to your choice of storage formats. Wand-config | shows the options required to use the Wand library. Image::Magick | allows the reading, manipulation and writing of a large number of image file formats using the ImageMagick library. Run make in the PerlMagick/demo directory of the package source tree after the package is installed to see a nice demo of the module’s capabilities.
convert[……]

READ MORE

「Image」- 搭建图床站点

什么是图床?
图床,Image Hosting Website(或者其他英文名,反正不是什么 Image Bed、Photo Bed 之类的),用来存放图片的空间(或服务器),同时允许外链到其他网站。
简单说,就是保存图片的站点,并且能在其他站点中引用。类似的站点有很多,比如 聚合图床、imgsha 等等。
当然,我们也可以自建图床站点,该笔记将记录:如何搭建自己的图床站点。
第一步、选择开源的图片自托管系统
我们当然可以选择免费的图床站点,但是我们要面对某些问题(比如站点倒闭、服务付费等等),因此选择自建。
当前可用的图床系统
我们有很多可用的图床系统,可以参考在以下页面链接中的介绍: 1)Photo and Video Galleries 2)Piwigo – Manage your photo collection 3)Molunerfinn/PicGo 4)当然还有很多其他图床系统,我们无法全部枚举……
我们选择的图床系统
我们有很多选择,比如 Piwigo、Pinry、Photato 等等。但是我们懒得对比(成百上千),只要满足我们的需求既可: 1)容易迁移:尽量不使用数据库,可以使用 Sqlite,但是不能使用 MySQL 等数据库; 2)支持外链:毕竟我们要提供给外部引用,自然要外部能够访问; 3)简单易用:我们不想把事情搞得太复杂,我们只需要螺丝刀,不需要工具箱;
最后我们选择 UberGallery – The simple PHP photo gallery 图床系统。虽然不能用作大型图床站点,它能够满足我们的需求。它只负责展示在远程服务器中的图片,而图片是保存在 Git 仓库的,通过 Jenkins 上传到远程服务器,我们不需要 UberGallery 支持图片上传。
第二步、安装 UberGallery 系统
详细的安装方法请参考官方 UberGallery – The simple PHP photo gallery 文档,这里简单记录。
第一步、搭建 Nginx + PHP 环境
1)搭建 Nginx + PHP 5.2+ 环境 2)安装 PHP-GD 扩展
第二步、安装 UberGallery 系统

# git clone –recursive git://github.com/UberGallery/UberGallery.git /srv/http/ubergallery
# cd /srv/http/ubergallery
# cp resources/sample.galleryConfig.ini resources/galleryConfig.ini
# chmod 777 /srv/http/ubergal[……]

READ MORE