2017年3月

study-zookeeper

ZooKeeper做为分布式应用的核心部件在越来越多的系统中被运用。很多情况我们利用ZooKeeper对已有的系统进行改造,以满足分布式部署的要求,而从使用这些系统的普通用户或者API用户来看,其调用方式跟以前几乎没有区别。ZooKeeper的核心是实现了Paxos算法来满足分布式系统环境下的一致性达成,《从PAXOS到ZOOKEEPER分布式一致性原理与实践》以及知乎 给了我很大帮助。ZooKeeper的源码并不复杂,简洁清晰容易定制和扩展使得它广泛用于大数据处理、实时处理、大数据存储、消息中间件、负载均衡等分布式应用场景。接下来就只剩阅读zookeeper源码这件事了。

archlinux-config-for-laptap

笔记本海购回来《latitudeE5470》,迫不及待的安装了archlinux,安装过程待整理

笔记本安装linux系统需要进行特别的配置,以便适应其专有的设备
https://wiki.archlinux.org/index.php/Laptop
https://wiki.archlinux.org/index.php/Laptop_Mode_Tools
https://wiki.archlinux.org/index.php/Udev
https://wiki.archlinux.org/index.php/Desktop_entries
https://01.org/zh/community/contribution-tools

显示器太亮的问题

我通过键盘功能键调到最低还是不够需要软件校正。直接通过xrandr修改brightness和gamma值无法保存,下次开机又还原。我对如下各种startup的配置以及icc配置进行了轮番尝试都失败了。

  1. xinitrc、profile、bashrc: 设置无效
  2. systemd的启动单元: X11服务还未启动
  3. gdm(GNOME Display Management): 亮度自动还原
  4. 校准icc profile: 没有专门的亮度校准

最后我找到了正确方法,即用xdg配置桌面启动项

~/.local/applications/autostart/dimmer.desktop
------------
[Desktop Entry]
Type=Application
Exec=/home/odora/.local/bin/dimmer.sh
Name=Dimmest
X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Delay=3

~/.local/bin/dimmer.sh
------------
DISPLAY=$(xrandr --listlistactivemonitors | sed -n '2p' | awk '{print $3}')
xrandr --output "$DISPLAY" --brightness 0.6 -gamma 1.2:1.2:1.2

网络配置

wifi-menu
netctl enable
netctl start wireless_wpa

调整亮度并自动保存(使用udev.rules)

/etc/udev/rules.d/81-backlight.rules
------------
SUBSYSTEM=="backlight", ACTION=="add", KERNEL=="intel_backlight", ATTR{brightness}="1"

还需要屏蔽掉systemd-backlight@.service
#sudo systemctl mask systemd-backlight@.service

使vim支持系统剪切板

需要使用ABS来编译VIM

pacman -S abs
abs extra/vim
cp -r /var/abs/extra/vim ~/vim && cd ~/vim

修改PKGBUILD

pkgname=('vim')

--with-x=yes

编译并安装

makepkg -s
pacman -U vim-8.xxx-x86_64.pkg.tar.xz

查看电量

cat /sys/class/power_supply/BAT0/capacity

查看按键的name

xev

进程能开启的最大线程数

cat /proc/sys/kernel/threads-max

开机自动连接wifi

ip link set <interface> down
wifi-menu -o  ## 保存AP配置为profile
netctl start <profile>
systemctl enable netctl@<interface>.service

开机自动使用有线网络

ip link set <interface> down
cp /etc/netctl/example/ethernet-dhcp /etc/netctl/ethernet-dhcp
netctl start ethernet-dhcp
systemctl enable netctl@<interface>.service

evince 默认查看pdf宽度(fit width)

gsettings set org.gnome.Evince allow-links-change-zoom false

gimp 批处理模式错误,发现要安装如下依赖

pacman -S libopenraw