广告

本站里的文章大部分经过自行整理与测试

2017年9月23日星期六

Gnome - Boxes 虚拟机 备份与恢复


Gnome Boxes (gnome-boxes)
是类似于 VirtualBox / VMware 的软件

1) 安装
$ sudo apt install libvirt-clients

2) 列出
$ virsh list --all

3) 备份
$ virsh dumpxml boxes-unknown >~/boxes-unknown.xml

4) 恢复
$ virsh create boxes-unknown.xml

5) 其它
$ cd ~/.local/share/gnome-boxes/image

2017年9月21日星期四

备份 / 恢复 Gnome Shell Extensions

备份 Gnome Shell Extensions 所有设定
$ dconf dump /org/gnome/shell/extensions/ > gnome_shell_extensions_conf.txt

恢复 Gnome Shell Extensions 所有设定
$ dconf load /org/gnome/shell/extensions/ < gnome_shell_extensions_conf.txt

将所有 Gnome Shell Extensions 改用预设值
$ dconf reset -f /org/gnome/shell/extensions/

其实除了 Gnome Shell Extensions, 也可以将整个系统设定都备份

WebDAV - box.com / yandex.com

Dropbox.com 不支持 webdav,
但以下 2 个支持..

BOX.com
davs://<email>@dav.box.com/dav

Yandex.com
davs://<uid>@webdav.yandex.com:443

如果用 Nautilus, 可以在 Connect to Server 输入以上格式来连接..

2017年9月20日星期三

用 TAR 做系统备份

系统备份

1) 要用 root 权限
2) 如果有 /host, 以下备份系统指令也要加入 --exclude=/host

  • 备份系统 (排除 /home 和 /boot)

$ tar -cvpzf /media/${USER}/XXX/ubuntu_backup@`date +%Y-%m+%d`.tar.gz --exclude=/proc --exclude=/tmp --exclude=/boot --exclude=/home --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/run /

  • 备份 /home

$ tar -cvpzf /media/${USER}/XXX/ubuntu_home_backup@`date +%Y-%m-%d`.tar.gz /home

  • 备份 /boot

$ tar -cvpzf /media/${USER}/XXX/ubuntu_boot_backup@`date +%Y-%m-%d`.tar.gz /boot

系统还原

  • 如果系统还能登入

$ tar -xvpzf /media/${USER}/XXX/ubuntu_boot_backup@2016-6-6.tar.gz -C /

  • 用 LiveCD

$ mkdir /mnt/sys
$ mount /dev/sdaX /mnt/sys
$ tar -xvpzf /media/${USER}/XXX/ubuntu_boot_backup@2016-6-6.tar.gz -C /mnt/sys

2017年9月19日星期二

自动生成 configure 和 Makefile

1) 编写 helloworld.c

#include <stdio.h>
    
int main(int argc, char** argv)
{
      printf("Hello, Linux World! ");
      return 0;
}

2) 生成 configure.scan, 改名为 configure.ac

2.1) 扫描源代码目录, 生成 configure.scan
$ autoscan

2.2) 改名为 configure.ac
$ mv configure.scan configure.ac

2.3) 编辑 configure.ac
$ vi configure.ac

AC_INIT(helloworld.c)

AM_INIT_AUTOMAKE(helloworld, 1.0)

AC_PROG_CC

AC_OUTPUT(Makefile)

3) 生成 aclocal.m4 和 configure

3.1) 生成 aclocal.m4
$ aclocal

3.2) 生成 configure
$ autoconf 

4) 编写 Makefile.am

$ vi Makefile.am

AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=helloworld
helloworld_SOURCES=helloworld.c

5) 生成 Makefile

$ automake --add-missing

6) 测试

$ ./configure
$ make
$ ./helloworld

2017年9月17日星期日

Git - 免户口与密码重复输入

1) 产生公钥 (id_rsa.pub) 与私钥 (id_rsa), 放到 .ssh

$ cd ~/.ssh
$ ssh-keygen -t rsa -b 4096 -C "钥匙名字"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/UID/.ssh/id_rsa): id_rsa 文件名
Enter passphrase (empty for no passphrase): 设置密码
Enter same passphrase again: 重复以上密码

2) 将公钥放去 github

登录 https://github.com/settings/ssh
添加 ~/.ssh/id_rsa.pub 公钥内容

3) 测试

$ git clone git@github.com:户口名/仓库名.git

* 第一次用 ssh 连接 github.com 会要求输入以上设置的密码.

4) 其它

之前已经 clone 的, 可修改 remote url
$ git remote set-url origin git@github.com:户口名/仓库名.git

2017年9月10日星期日

Git - branch / tag

1) 分支管理 (branch)

$ git branch                         查看分支
$ git branch <name>           创建分支
$ git checkout <name>        切换分支

$ git checkout -b <name>    创建 + 切换分支
$ git merge <name>            合拼分支
$ git branch -d <name>  删除分支

2) 操作修改和版本穿梭

$ git log

$ git reset HEAD 暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响
$ git reset --hard <revision> 重置至某一版本 (强制,暂存区和工作区均重置)
$ git reset --hard HEAD^, 则回滚为上一版本
$ git reflog 显示操作的日志
$ git rm --cached <file> 会直接从暂存区删除文件,工作区则不做出改变
$ git checkout -- <file1> <file2> 会将文件在工作区的修改撤销

$ git checkout HEAD . 或者 git checkout HEAD <file
会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。
这个命令是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动

3) 标签管理 (tag)

$ git tag                 查看标签 
$ git tag <name> <commit_id>     创建标签, 若无commit id 默认当前
$ git tag -a <name> -m <msg>         创建标签, 且添加标签信息
$ git tag -s <name> -m <msg>         创建签名标签,且添加标签信息
$ git tag -d <name> -m <msg>         删除标签
$ git show <name>                         查看标签具体信息

$ git push origin <name>                  推送某个标签至远程
$ git push origin --tags                    推送所有标签至远程

2017年9月9日星期六

Git 历史记录清除

清除所有文件的历史记录
以下已试过了..

$ git checkout --orphan latest_branch
$ git add -A
$ git commit -am "Clear History Rec"
$ git branch -D master
$ git branch -m master

$ git push -f origin master

2017年9月8日星期五

CentOS GNOME - Vino Server 启动

在 CentOS / Fedora, 如果选择安装的是 Gnome,
会预设安装了 Vino Server, 其实根本不需要安装 tigervnc-server

1) 设置 (主要是改 require-encryption 为 false)

https://raw.githubusercontent.com/yomun/store/master/sh/vino.sh

$ dbus-launch gsettings set org.gnome.Vino require-encryption false
$ dbus-launch gsettings set org.gnome.Vino notify-on-connect false
$ dbus-launch gsettings set org.gnome.Vino prompt-enabled false

* 也可以用 dconf editor 找 remote-access

2) 查看以上设置

$ gsettings get org.gnome.Vino require-encryption
$ gsettings get org.gnome.Vino notify-on-connect
$ gsettings get org.gnome.Vino prompt-enabled

3) 运行 Vino Server

$ pkill vino-server
$ export DISPLAY=:0.0
$ /usr/libexec/vino-server &

4) 防火壁 (打开端口 5900)

$ su
$ firewall-cmd --get-active-zones

$ firewall-cmd --add-port=5900/tcp --permanent --zone=public 

$ firewall-cmd --add-service=vnc-server --permanent --zone=public

$ firewall-cmd --reload
$ firewall-cmd --list-all --zone=public


5) 可用 Remmina 连接 VNC

Port: 5900 (预设)
User name: 要登入的户口
Password: 户口所设置的密码

6) 其它
$ gedit /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml

2017年9月6日星期三

Git 开发基本应用

1) 先在 https://github.com 用自己的户口名 user, 创建一个软件库 gittest
软件库网址 https://github.com/user/gittest

2) 下载 gittest
$ git clone https://github.com/user/gittest

3) 在 gittest 里增加 / 修改文件
$ cd gittest
$ echo "# gittest" >> text.txt

4) git status 会告知你可以上传的文件

5) 新的文件 / 更改文件上传到分支 (master 是你的软件库主分支)

$ git add text.txt text2.txt
$ git commit -m "<message>"
$ git push origin master

6) 撤除文件, 然后也同步到分支去
$ rm text.txt

$ git rm text.txt
$ git commit -m "<message>"
$ git push origin master

7) 如果要更新本地软件库 (如果分支已更新, 本地的也可以更新)
$ git pull origin master

8) 其它
# 在本地初始化文件夹 (会在文件夹中里产生 .git)
$ git init

# 更换或增加外部网址
$ git remote -v
$ git remote add origin <url>
$ git remote set-url origin <url>

2017年9月4日星期一

Linux - 文件监控

1) 安装
$ sudo apt install auditd

auditd 是后台守护进程, 负责监控记录
auditctl 配置规则的工具
auditsearch 搜索查看
aureport 根据监控记录生成报表

2) 监控 ( 根据自己所设置的 authorized_keys )
$ sudo auditctl -w /root/.ssh/authorized_keys -p awr -k auth_key

-w 指明要监控的文件
-p awrx 要监控的操作类型, append(a), write(w), read(r), execute(x)
-k 给当前这条监控规则起个名字, 方便搜索过滤

3) 查看修改纪录
$ sudo ausearch -i -k auth_key

4) 生成报表
$ sudo aureport .

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sec-Creating_Audit_Reports.html

5) 查看
$ sudo cat /var/log/audit/audit.log

Linux - Maldetect - Malware 检测

https://www.rfxn.com/projects/linux-malware-detect/

1) 下载/解压/安装

$ wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
$ tar -zxvf maldetect-current.tar.gz
$ cd maldetect-x.y.z
$ sudo ./install.sh

2) 扫描

$ sudo maldet --scan-all /var/www/

3) 看报告

$ sudo maldet --report 021015-1051.3559

4) 扫描到有恶意软件的文件置放处

$ cd /usr/local/maldetect/quarantine
$ ls

5) 撤除

$ sudo maldet --clean 021015-1051.3559

6) 设置文件

$ sudo gedit /usr/local/maldetect/conf.maldet

2017年8月30日星期三

Clamav 病毒数据库不能更新

运行 freshclam 以更新病毒数据库
突然出现以下信息

WARNING: getpatch: Can't download daily-14528.cdiff from db.local.clamav.net
WARNING: getpatch: Can't download daily-14528.cdiff from db.local.clamav.net
WARNING: getpatch: Can't download daily-14528.cdiff from db.local.clamav.net
WARNING: getpatch: Can't download daily-14528.cdiff from db.local.clamav.net
WARNING: getpatch: Can't download daily-14528.cdiff from db.local.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
WARNING: Can't download daily.cvd from db.local.clamav.net

Trying again in 5 secs...

1) 查看

$ ls -al /var/lib/clamav

2) 下载病毒数据库

$ wget http://database.clamav.net/main.cvd
$ wget http://database.clamav.net/daily.cvd
$ wget http://database.clamav.net/bytecode.cvd

3) 取代原有的数据库

$ sudo cp *.cvd /var/lib/clamav

4) 测试

$ sudo freshclam

5) 将所有 cvd 文件拥有者改为 clamav

$ sudo chown clamav:clamav *.cvd

6) 其实已不需要用 sudo freshclam 来更新病毒数据库了, 因可用

$ systemctl status clamav-freshclam

可以看到日志的记录是有自己更新病毒数据库的

2017年8月23日星期三

Gnome MPV 新一代播放器


新一代的开源播发器

在设计上比 totem 更优化


$ sudo add-apt-repository ppa:xuzhen666/gnome-mpv
$ sudo apt update
$ sudo apt install gnome-mpv

$ sudo apt remove totem totem-common

2017年8月18日星期五

Linux - 有道词典已支持 PyQt 5.6


发现 Deepin 15.4.1 出版了新的有道词典,
能够支持 PyQt 5.6 和 SIP 4.18.1

但有道词典官网却还没有放出新版本,
所以自己做了个 DEB 新版给 Ubuntu 16.10 开始的平台

目前已在 Ubuntu 17.04 / Fedora 26 / OpenSUSE tumbleweed 测试过了

https://github.com/yomun/youdaodict_5.5

2017年8月17日星期四

md5sums 文件制作

一个命令就可取得所有文件的 md5

$ find -type f -exec md5sum "{}" + > md5sums

md5sums 文件里就是 /usr/share 里的文件 md5 列表

f06e328e126860e6aca97b7bd17ff771  usr/share/applications/youdao-dict.desktop
97885b7dc562033935060b350ef391aa  usr/share/dbus-1/services/com.youdao.backend.service
3faadff0f0a27e07b0a3716a8ac54a90  usr/share/dbus-1/services/com.youdao.indicator.service
f925c4d4a5b3ee8fd10607edf4ef00ed  usr/share/doc/youdao-dict/changelog.Debian
355ea77725c8c7840819d7cf10d8d09c  usr/share/doc/youdao-dict/copyright
95a05783b7827d7ea980c0397749e628  usr/share/doc/youdao-dict/license_ch.docx
aa31f550d133c0942c1ed43bcb4f4ac0  usr/share/doc/youdao-dict/license_ch.txt
a943ddeead85041183a5ae24b7d41c1f  usr/share/icons/hicolor/16x16/apps/youdao-dict.png
2c77655688ae53f6134ea669437f48f3  usr/share/icons/hicolor/24x24/apps/youdao-dict.png
4894b6a3005bdf6c18b75f543002335e  usr/share/icons/hicolor/48x48/apps/youdao-dict.png

2017年8月13日星期日

Ubuntu 17.04 - 有道词典


在 Ubuntu Gnome 17.04 用以下方法安装有道词典,
会造成已安装好的软件, 因有用 PyQt4/5 而遭牵连被撤除
所以, 需要想清楚, 你是否真的要用这方法..
(有道词典目前的版本依然是依靠 PyQt5 5.5.1 版, 而不能用 5.6 开始的版本)

https://github.com/yomun/youdaodict_5.5

目前发现以下已安装的软件会出问题..
  • 搜狗拼音 (不能用了, 但可用 fcitx-pinyin 和 fcitx-googlepinyin) 
  • 网易云音乐 (重安装即可) 
  • Virtual Box (选择 xenial 版重安装) 
  • NotePadqq (改 /etc/apt/sources.list.d/notepadqq-*.list, 用 xenial, 重安装) 
  • VLC
  • Converseen 
  • unity-webapps-facebookmessenger 和 unity-webapps-youtube 
 如果软件无法安装, 都是因为依赖的软件包无法下载安装的原因

1) 用 ubuntu xenial 的软件库 /etc/apt/sources.list (安装完后, 记得改回去)

# 将所有 zesty 改为 xenial
$ sudo sed -i 's/zesty/xenial/' /etc/apt/sources.list
$ sudo apt update

2) 可能已安装 5.7 版本 (python3-sip 则用 zesty 4.18.1), 所以先确保已将以下撤除

$ sudo apt remove libqgsttools-p1 libqt5core5a libqt5clucene5 libqt5designer5 libqt5help5
$ sudo apt remove python3-sip python3-pyqt5 python3-pyqt5.qtmultimedia python3-pyqt5.qtquick python3-pyqt5.qtwebkit
$ sudo apt remove qml-module-qtgraphicaleffects qml-module-qtquick-controls qml-module-qtquick-layouts libqt5multimedia5-plugins

3) 安装 5.5.1 版本 (python3-sip 则用 xenial 4.17)

$ sudo apt install libqgsttools-p1 libqt5core5a libqt5clucene5 libqt5designer5 libqt5help5
$ sudo apt install python3-sip python3-pyqt5 python3-pyqt5.qtmultimedia python3-pyqt5.qtquick python3-pyqt5.qtwebkit
$ sudo apt install qml-module-qtgraphicaleffects qml-module-qtquick-controls qml-module-qtquick-layouts libqt5multimedia5-plugins

$ sudo apt-get -f install

可以查看是否安装了 5.5.1 版本
$ apt search 以上软件包名

4) 将一些软件包设置成停止更新
(不让一些软件包更新. 因一旦更新了, 就等于白做了)

$ sudo echo "libqgsttools-p1 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5core5a hold" | sudo dpkg --set-selections
$ sudo echo "libqt5clucene5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5dbus5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5designer5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5gui5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5help5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5multimedia5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5multimedia5-plugins hold" | sudo dpkg --set-selections
$ sudo echo "libqt5multimediawidgets5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5network5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5opengl5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5printsupport5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5qml5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5quick5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5quickwidgets5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5sql5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5sql5-sqlite hold" | sudo dpkg --set-selections
$ sudo echo "libqt5svg5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5test5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5webkit5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5widgets5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5xml5 hold" | sudo dpkg --set-selections
$ sudo echo "libqt5x11extras5 hold" | sudo dpkg --set-selections
$ sudo echo "qml-module-qtgraphicaleffects hold" | sudo dpkg --set-selections
$ sudo echo "qml-module-qtquick2 hold" | sudo dpkg --set-selections
$ sudo echo "qml-module-qtquick-controls hold" | sudo dpkg --set-selections
$ sudo echo "qml-module-qtquick-layouts hold" | sudo dpkg --set-selections
$ sudo echo "qml-module-qtquick-window2 hold" | sudo dpkg --set-selections
$ sudo echo "python3-sip hold" | sudo dpkg --set-selections
$ sudo echo "python3-pyqt5 hold" | sudo dpkg --set-selections
$ sudo echo "python3-pyqt5.qtmultimedia hold" | sudo dpkg --set-selections
$ sudo echo "python3-pyqt5.qtquick hold" | sudo dpkg --set-selections
$ sudo echo "python3-pyqt5.qtwebkit hold" | sudo dpkg --set-selections
$ sudo echo "qttranslations5-l10n hold" | sudo dpkg --set-selections

$ sudo dpkg --get-selections | grep hold

* 要恢复, 将 hold 改为 install 运行即可

5) 修改回原来的 zesty 软件库 / 安装有道词典其它依赖库

$ sudo sed -i 's/xenial/zesty/' /etc/apt/sources.list
$ sudo apt update

$ sudo apt install python3 python3-dbus python3-lxml python3-pil
$ sudo apt install python3-requests python3-xdg python3-xlib
$ sudo apt install tesseract-ocr tesseract-ocr-eng tesseract-ocr-chi-sim tesseract-ocr-chi-tra
$ sudo apt install gir1.2-appindicator3-0.1 ttf-wqy-microhei

6) 制作 有道词典 deb / 安装

# 修改依赖包 - 删除 Depends 后面的
# gstreamer0.10-plugins-ugly, qtdeclarative5-controls-plugin (没有这2个软件包)
# python3-pyqt5, python3-pyqt5.qtmultimedia, python3-pyqt5.qtquick, python3-pyqt5.qtwebkit
$ gedit youdao/DEBIAN/control

然后重新编译 / 安装.. (看 Ubuntu 部分)
http://jasonmun.blogspot.my/2016/04/ubuntu-youdao.html

2017年8月8日星期二

Ubuntu Gnome 系统语言

1) 系统语言安装

简体中文

$ sudo apt install language-pack-zh-hans language-pack-zh-hans-base language-pack-gnome-zh-hans language-pack-gnome-zh-hans-base
$ sudo localectl set-locale LANG=zh_CN.UTF-8

繁体中文

$ sudo apt install language-pack-zh-hant language-pack-zh-hant-base language-pack-gnome-zh-hant language-pack-gnome-zh-hant-base
$ sudo localectl set-locale LANG=zh_TW.UTF-8

英文

$ sudo apt install language-pack-en language-pack-en-base language-pack-gnome-en language-pack-gnome-en-base
$ sudo localectl set-locale LANG=en_US.UTF-8

日文

$ sudo apt install language-pack-ja language-pack-ja-base language-pack-gnome-ja language-pack-gnome-ja-base
$ sudo localectl set-locale LANG=ja_JP.UTF-8

韩文


$ sudo apt install language-pack-ko language-pack-ko-base language-pack-gnome-ko language-pack-gnome-ko-base
$ sudo localectl set-locale LANG=ko_KR.UTF-8


$ reboot

2) 设置

All Settings - Personal - Region & Language - 

Language:

English (United States) / 
Chinese (China) / 
Chinese (Taiwan) / 
Japanese (Japan) / 
Korean (Korea, Republic of)

Formats: 

United States / China / ..

注销.. 再登入..

查看设置
$ locale

3) 如果步骤 2 不凑效,
再用步骤 1 命令, 重启..

$ sudo localectl set-locale LANG=en_US.UTF-8
$ sudo reboot now
 

Linux 上的 emule - amule

与 emule 一样,
amule 可以在 Linux 下载以 ed2k 为协议的网址

1) 下载 amule

http://www.amule.org
https://github.com/amule-project/amule/releases

2) 编译 / 安装 / 用法

$ tar -zxf amule-2.3.2.tar.gz
$ cd aMule-2.3.2
$ ./configure --prefix=/usr --disable-gtk2 --with-gtk
$ make
$ make install

Ubuntu 的软件库已有, 可不需要以上编译

$ sudo apt install amule

用法与 emule 一样, 也是先 Connect (连接到服务器), 然后 Searches (搜索资源)

3) 下载 / 更新服务列表 server.met

可以找到新的 server.met
http://emulefans.com/news/plugin/server-list/

$ cd ~/.aMule
$ mv server.met server.met.backup
$ cp ~/Downloads/server.met ~/.aMule/server.met

2017年8月6日星期日

Ubuntu - Variety 壁纸自动下载更换


看腻了壁纸了吧?
可以用 Variety 自动下载壁纸与更换

$ sudo add-apt-repository ppa:peterlevi/ppa
$ sudo apt-get update
$ sudo apt-get install variety

Linux - Google Chrome - 窗口 Maximum 问题

不知道为什么,
在 Gnome 用 Google Chrome, 每次将窗口 Maximum 最大化,
窗口就会在几秒后自动走样, 
就是说不能显示窗口右边的部分

解决方法

去 Google Chrome 设置..

Settings - Appearance - Use system title bar and borders

2017年8月5日星期六

Themes - United Gnome

United Gnome
https://github.com/godlyranchdressing/United-GNOME/

themes 基于 Ubuntu 18.04 的设计概念, 给 Gnome 用

(已在 Ubuntu Gnome 17.04 测试过)

1) 下载


$ cd ~
 

$ mkdir .themes
$ cd ~/.themes
$ wget https://github.com/godlyranchdressing/United-GNOME/raw/master/United-Latest.tar.gz
$ tar zxvf United-Latest.tar.gz
 

$ rm -rf United-Latest.tar.gz

2) 安装 Gnome Tweak Tool


# Ubuntu

$ sudo apt install gnome-tweak-tool

# Fedora
$ sudo dnf install gnome-tweak-tool

3) Gnome Tweak Tool 设置


3.1) Extensions - 启动 User themes
 

User themes
https://extensions.gnome.org/extension/19/user-themes/ 

Dash to panel
https://extensions.gnome.org/extension/1160/dash-to-panel/

Glassy gnome (让 windows 变透明用)
https://extensions.gnome.org/extension/982/glassy-gnome/

Window list
https://extensions.gnome.org/extension/602/window-list/


3.2) Appearance - Theme - GTK+ / Icons / Shell theme

Ubuntu - An error occurred during the signature verification (Chrome)

在 ubuntu 用 sudo apt update 出现以下错误

An error occurred during the signature verification (Google Chrome)

解决方法是更新 Chrome 的 GPG public key

$ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

http://jasonmun.blogspot.my/2016/05/linux-chrome.html

2017年8月4日星期五

Gnome Shell Extensions - Auto OVPN



Auto OVPN
https://github.com/yomun/auto-ovpn

https://extensions.gnome.org/extension/1270/auto-ovpn/

第一个自行开发的 Gnome Shell Extensions
用于方便在 Linux 容易用上 VPN Gate

因每次去 VPN Gate 网站下载 ovpn 文件实在太麻烦了, 
同时也不知道哪一个可以用

这小工具可以解决这问题, 而且全自动, 只要启动了 VPN 就可以了.
如果 VPN 有问题连接不到会自动试用其它的 ovpn,
一直试到有一个 VPN 能用为止

同时也显示现在的 Public IP 在 panel 上

2017年8月2日星期三

Fedora KDE - 密码设置

$ su
$ nano /etc/security/pwquality.conf

# 本来预设是要求密码 8 位数, 以下改为 3 位数
minlen = 3

之后可用以下命令改密码

$ sudo passwd username

如果遇到 BAD Password 提示也接着改,
最后会告知是否成功修改

Gnome 密码设置
http://jasonmun.blogspot.my/2017/07/ubuntu.html

Fedora KDE - 自动 Login 设置

System Settings - Workspace - Startup and Shutdown - Login Screen (SDDM)
- Select Login Theme - Advanced
- Apply

$ su
$ nano /etc/sddm.conf

[Autologin]
Relogin=false
Session=plasma.desktop
User=UserID

[General]
# AutoRelogin=false
# AutoUser=UserName
CursorTheme=Adwaita
HaltCommand=
RebootCommand=

[Theme]
Current=01-breeze-fedora
CursorTheme=Adwaita

[Users]
MaximumUid=65000
MinimumUid=1000

Fedora KDE - 安装 fcitx + 搜狗拼音

Fedora Gnome 版
https://jasonmun.blogspot.my/2016/05/fedora-ibus-fcitx-sogoupinyin.html

以下是 Fedora KDE 版
(已在 Fedora 26 测试过了)

1) fcitx 安装

$ su root

$ dnf install fcitx kcm-fcitx fcitx-cloudpinyin fcitx-pinyin fcitx-configtool

2) fcitx 设置 (如果没有可跳过)
/etc/sddm.conf 在X11节中设置(默认值是不对的)
SessionCommand=/usr/share/sddm/scripts/Xsession

3) 让系统选择用 fcitx

$ su 用户名
$ imsettings-switch fcitx

4) 搜狗拼音 ubuntu 版下载 (下载到 ~/Downloads)
http://pinyin.sogou.com/linux/?r=pinyin
http://pinyin.sogou.com/linux/download.php?f=linux&bit=64 

5) 解压, 需要 deb 里面的 data.tar.xz 
$ su 用户名
$ cd ~/Downloads
$ ar vx sogoupinyin_2.1.0.0086_amd64.deb

共有3个文件: 
x - debian-binary
x - control.tar.gz
x - data.tar.xz

6) 再解压, 将文件放到系统各处 (安装) 
$ su root 
$ tar -Jxvf data.tar.xz  -C / 
$ cp /usr/lib/x86_64-linux-gnu/fcitx/fcitx-sogoupinyin.so /usr/lib64/fcitx/fcitx-sogoupinyin.so 

7) 重启系统或运行 
$ su 用户名
$ fcitx -r
$ sogou-qimpanel

$ fcitx-configtool # Fcitx 设置界面

2017年7月18日星期二

ArchLinux 安装

1) 检查现在磁盘 sda 的分区
$ lsblk

2) 弄 2 个分区, sda1 是 swap, sda2 是 ext4
$ cfdisk

# 格式化 sda2
$ mkfs.ext4 /dev/sda2 

# 启动 swap
$ mkswap /dev/sda1
$ swapon /dev/sda1

3) 挂载 sda2 到系统中的 /mnt
$ mount /dev/sda2 /mnt

4) 安装基本
$ pacstrap /mnt base base-devel 

5) 生成 fstab 
$ genfstab -p /mnt >> /mnt/etc/fstab

6) 转向用 /mnt 当系统
$ arch-chroot /mnt /bin/bash

7) 初始化内存
$ mkinitcpio -p linux

8) 打开 locale.gen 将 en_US.UTF-8,zh_CN.UTF-8 和 zh_TW.UTF-8 前面的 # 拿走
$ nano /etc/locale.gen
$ locale-gen
$ echo LANG=en_US.UTF-8 > /etc/locale.conf

9) 时间区域
$ ln -sf /usr/share/zoneinfo/Asia/Kuala_Lumpur /etc/localtime

10) hostname / hosts
$ echo archlinux >/etc/hostname

并且把主机名添加到/etc/hosts文件中

#<ip-address>    <hostname.domain.org>    <hostname>
127.0.0.1 localhost.localdomain    localhost archlinux
::1            localhost.localdomain    localhost archlinux

11) 设置现在 root 账号密码
$ passwd

12) 安装上网工具
$ pacman -S net-tools

13) grub 2 安装 (记得要加上 --force, 不然会出现错误, 无法安装)
$ pacman -S grub-bios
$ grub-install --force --recheck /dev/sda
$ grub-mkconfig -o /boot/grub/grub.cfg

14) 其他安装
$ pacman -S alsa-utils linux-headers

$ pacman -S xf86-video-vesa          # 通用显卡驱动
$ pacman -S xf86-video-intel           # Intel
$ pacman -S xf86-video-nouveau    # Nvidia
$ pacman -S nouveau-dri
$ pacman -S xf86-video-ati              # Ati
$ pacman -S xf86-video-vesa          # 虚拟机用

15) 从 /mnt 退出, 重启后就是个新的系统
$ exit 
$ umount /mnt
$ reboot

16) 其他安装
$ pacman -S xf86-input-synaptics # 笔记本触摸板支持
$ pacman -S gnome-terminal

$ pacman -S open-vm-tools xf86-video-vmware xf86-input-vmmouse
$ systemctl start vmtoolsd
$ systemctl enable vmtoolsd

$ pacman -S xorg-server xorg-server-utils

17) GNOME 安装
$ pacman -S gnome gdm
$ systemctl start gdm
$ systemctl enable gdm