存档

‘Tips’ 分类的存档

lxde 桌面屏幕截图配置

2016年10月12日 1 条评论

在 Mac 或者 Windows 下使用微信截图工具很方便,hack 一个到 lxde.

这里选择 scrot 作为后端截图的引擎

修改 $HOME/.config/openbox/lxde-rc.xml 文件, 增加以下一个配置项:

<keybind key="Print">
  <action name="Execute">
    <execute>scrot -s '%F-%H%M%S.png' -e 'mv $f ~/Desktop/'</execute>
  </action>
</keybind>

表示当按下 PrtScn 的时候,调用 scrot 选择区域截图, 截图完成之后将截图按照 year-month-day-时分秒.png 的格式保存到桌面上

稍后,让 openbox 重载配置文件即可

$ openbox --reconfigure

如果习惯 QQ 或者 Wechat 快捷键截图,只需修改按键绑定到 Ctrl-Shift-A 即可:

<keybind key="C-A-A">
分类: Tips 标签:

加速 SSH 连接的 tips

2016年5月18日 没有评论

SSH 登陆服务器的时候有很多流程,例如:

  • 不必要的将所有支持的登陆方式都尝试一遍知道某一种登陆成功.
  • 某些场景下不必要的 DNS 反向解析验证.

客户端指定验证方式加速连接

openssh 有基于 GSSAPI, host, 公钥/私钥, challenge-response, 密码等认证方式.
默认情况下, 客户端会使用一定的顺序尝试认证,直到某一种认证通过. 实际上, 在实际使用中,
我们一般只会使用秘钥和密码这两种认证方式,其他方式完全没有必要. 并且还会浪费时间.

可以在 ssh 客户端用户的配置文件中禁用其他配置.

# file: ~/.ssh/config
PreferredAuthentications publickey,password

上面的配置表示客户端仅支持(秘钥)和password(密码)认证. 并且优先尝试秘钥认证.

关闭 UseDNS

如果 UseDNS 选项被打开, 在客户端发起连接的时候, SSH 服务器会做一个 DNS 的反向查询验证,
根据客户端的 IP 地址进行 DNS PTR 反向查询, 用查询出到的客户端的主机名进行 DNS 正向 A 记录查询,
验证和原始地址是否一致. 一般来讲, 我们的客户端的 IP 都是动态的, 不存在 PTR 记录,
SSH 服务器做这个验证只会浪费时间, 如下的 debug 信息:

May 18 06:22:51 localhost sshd[4969]: debug3: mm_answer_pwnamallow
May 18 06:22:51 localhost sshd[4969]: debug3: Trying to reverse map address 25.0.0.1.  <-- 这里浪费了 15 秒, 很恼人
May 18 06:23:06 localhost sshd[4969]: debug2: parse_server_config: config reprocess config len 757
May 18 06:23:06 localhost sshd[4969]: debug3: mm_answer_pwnamallow: sending MONITOR_ANS_PWNAM: 1

所以一般推荐关闭这个选项, 修改 /etc/ssh/sshd_config 中 UseDNS 为 no:

UseDNS no

PS: 稍新的 openssh 版本改选项默认已经关闭

pam 认证相关

有时候登录很慢, 查询日志: 通常都会看到类似 pam 的问题:

May 18 00:00:26 m8x CROND[14936]: pam_systemd(crond:session): Failed to release session:

在支持 systemd 的系统上, 一般这种情况是处理用户登录的 systemd-logind 服务造成的, 重启该服务即可.

$ sudo systemctl restart systemd-logind.service
分类: Tips 标签:

常用的 bash 快捷键

2011年10月3日 2 条评论

默认的 bash 的快捷键是 Emacs 绑定的, 前两天看到一篇帖子 Bash Shell 快捷键的学习使用, 发现有一些很有用的快捷键我居然不知道, 而且我常用的一些快捷键也没有列出来, 遂把我常使用的 Bash 快捷键和上述的整理出来, 做一个记录.

注: 按照 Emacs 的习惯, Ctrl 键用 C 简写, Alt 用 M 简写. 快捷键生效, 必须把把菜单访问键盘

移动相关

C-a
和 Emacs 一样, 跳到一行的开头, 类似的 C-e 跳到一行的结尾, 这两个组合 一般是最常用的按键, 因为我常常看到很多用 Bash 的同学费劲的去找 Home 和 End, 要知道那两个键很远阿.
C-e
移动到行尾.
C-b
往回移动一个字符.
A-b
往回移动一个单词, 空格, “:”, “-” 等符号默认是单词分隔符.
C-f
往前移动一个字符.
A-f
往前移动一个单词, 分隔符同 A-b.
C-]-k
跳转到第一个 ‘k’ 出现的地方. ‘k’ 可以是任意字符.
C-xx
来回跳转, 比如 C-]-k 跳到 ‘k’ 出现的地方, 按 C-xx 跳回来.

编辑相关

C-d
删除光标所在字符.
C-h
删除光标所在位置的前一个字符.
C-backspace
同上.
A-d
删除一个单词, 单词的分隔符同上.
C-w
删除光标所在位置的前一个单词.
A-backspace
同上.
C-k
从光标开始删除到行末.
C-u
从光标开始删除到行首.
C-y
粘帖, 以上删除的字符可以通过这个指令粘帖到光标所在位置.
C-_
恢复, 以上的操作可以通过这个指令恢复.

查找

C-r
查找历史命令
C-]-k
跳转到第一个 ‘k’ 出现的地方. k可以是任意字符.

其它

C-c
结束进程.
C-l
清屏.

奇淫技巧(不常用)

C-t
交换两个字符.
A-*
补全所有匹配项.
A-.
补全上一条命令的最后一个参数.
A-<
跳到历史记录中的第一条命令.
A-\
删除光标到下一个字符的所有空格.
A-l
把光标所在的单词的大写字符变为小写.
A-u
把光标所在的单词的小写字符变为大写.
A-t
交换两个单词.

另外, 这里有一篇 飞快的使用命令行 对 history 指令和 “!” 的使用写得非常不错. 值得参考一下.

最后吐槽一下, Emacs 真他妈强大.

分类: linux, Tips 标签: