不定期整理在使用各类linux发行版和Emacs时的配置,以及遇到的各类问题的解决方案。
Fedora Mysql5.1以上版本中文编码
在mysql中输入show variables like 'character%';
查看编码配置,此时有某行为Latin1
编辑/etc/mysql/my.cnf(或在/etc/my.cnf),为各部分增加或修改为
1 2 3 4 5 6 7 8 [client] default-character-set=utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci init_connect='SET NAMES utf8' (或SET NAMES 'utf8' ) [mysql] default-character-set=utf8
重启mysql,服务映射为mysqld,sudo service restart mysqld
或sudo /etc/init.d/mysql restart
apache服务器配置
编辑~/work/program/apache-2.4.17/conf/httpd.conf
将其中的#Listen 12.34.56.78:80
下面一行的Listen 80
改成监听端口,如8080
向下找到User和Group两项,在终端输入groups可以看到当前用户和所属群组,修改为当前用户及群组
向下找到ServerName,改为IP地址,如127.0.0.1:8080,通过其访问apache
向下设置DocumentRoot,为网站所在目录,访问权限修改为Require all granted(全部允许)
开机挂载非EXT分区
fedora的分区配置在/dev/下
在/mnt/下新建文件夹如Professional,fdisk -l
查看所有分区
如对应分区为/dev/sdb4,则mount /mnt/Professional /dev/sdb4
编辑/etc/fstab,在最后加入/dev/sdb4 /mnt/Profession ntfs iocharset=utf8, umast=0 0 0
,ntfs随分区格式改变
sqlite3API编译
gcc sqlite3.c test.c -lpthread -ldl
生成a.out。
Ubuntu 安装Topcoder
配置java环境,apt-get install java
,或者到Java SE 下载最新的jdk。
点此下载Topcoder的客户端 ,下载ContestAppletProd.jnlp。
安装javaws,并启动ContestAppletProd.jnlp。sudo apt-get install javaws
,javaws ContestAppletProd.jnlp
。
制作Topcoder桌面启动器:cd /usr/share/applications/
,sudo vi TopCoder.desktop
,选取png图片作为启动器图标,保存在/path/to/TopCoder/TopCoderIcon.png,将以下内容保存,两个地址为绝对地址。
1 2 3 4 5 6 7 8 [Desktop Entry] Version =1.0 Name =TopCoder Exec =javaws /path/to/TopCoder/ContestAppletProd.jnlp Terminal =false Icon =/path/to/TopCoder/TopCoderIcon.png Type =Application Categories =Development
安装插件,在这里 下载TZTester、CodeProcessor和FileEdit。CodeProcessor对Python不支持。
登录Arena后,选择”Options”→”Editors”,调出新窗口,点击”Add”,在”name”栏填”FileEdit”,”EntryPoint”栏填”fileedit.EntryPoint”,路径浏览选择”FileEdit.jar”所在位置,OK保存。
“options”→”Editors”,调出新窗口,点击”Add”添加全部三个文件,包括 “FileEdit.jar”。此次”name”栏填”CodeProcessor”,”EntryPoint”栏填 “codeprocessor.EntryPoint”,路径栏浏览三个文件的位置。
选择”CodeProcessor”作为”Default Editor”,即在前面的两个白色的括号中的第一个打勾。
选定”CodeProcessor”(高亮显示),按 “Configure”。在”Editor EntryPoint”栏键入”fileedit.EntryPoint”,在 “Processor Class”栏键入 “tangentz.TZTester”,按 “Verify”,弹出窗口检查是否全部 “found”。点击后面的”configure”,选中”Write the problem description using HTML”,将”File Extension”改为”html”。在”Enter directory read/write problems to:”处填上编写程序文件的绝对路径。
安装matlab
sudo mkdir /media/matlab/
,sudo mount -o loop /path/to/matlab.iso /media/matlab
挂载iso镜像。
cd到挂载的镜像中,./install
开始图形界面安装。使用/media/matlab/crack/下的序列号。
安装完成后复制crack下的libmwservices.so到matlab安装目录下的bin/glnxa64。sudo cp /path/to/libmwservices.so /path/to/matlab-install-place/bin/glnxa64/
进入matlab安装目录下的bin文件夹,./activate matlab
对matlab激活,选中crack下的license激活。
apt-get安装matlab-support,否则打开matlab闪退。matlab-support会把matlab自动加入环境变量,并生成桌面启动器。
修改环境变量
修改系统环境变量sudo vi /etc/environment
,在PATH=末尾添加:/path/to/your/dir
,source /etc/environment
生效。
修改当前用户环境变量sudo vi ~/.bashrc
,在末尾添加export PATH=/path/to/your/dir:$PATH
,source ~/.bashrc
生效。
安装LaTex
sudo apt-get install texlive-full
sudo apt-get install texmaker
安装中文字体支持sudo apt-get install latex-cjk-all
hexo等工程需要更新nodejs
sudo apt-get install curl
curl --silent --location https://deb.nodesource.com/setup_5.x | sudo bash -
sudo apt-get install nodejs
安装libpcap库
最新版本http://tcpdump.org/release
解压后进入目录,./configure
过程可能缺少flex,之后make
过程可能缺少yacc(sudo apt-get install -y byacc
),均需安装。
make install
后运行二进制文件会提示缺少链接库,需从/usr/lib/x86_64-linux-gnu
下拷贝libpcap.so.1.x.x
并重命名为libpcap.so.1
保存至/usr/lib
下。
为Firefox安装Adobe Flash Player
从https://get.adobe.com/cn/
获取.tar.gz
格式的安装包。
解压install_flash_player_11_linux.x86_64.tar.gz
到某目录下,得到libflashplayer.so
,将该文件复制到Firefox的插件目录下,通常在/usr/lib/mozilla/plugins/
,复制后chmod 777。
将解压出来的usr目录下所有内容拷贝到系统usr目录下,cp -r ./usr/* /usr/
。
开机挂载非EXT分区
Ubuntu 12.10后挂载的分区记录在/dev/下,分区默认挂载点在/media/<username>/<device>
。
在/media/<username>
下新建文件夹如Professional,fdisk -l
查看所有分区
如对应分区为/dev/sdb4,挂载到Professional,则mount -t fstype /dev/sdb4 /media/forec/Professional
。挂载点可变。-t
指定挂载的文件系统类型,常用的有
minix Linux最早使用的文件系统。
ext2 Linux目前的常用文件系统。
msdos MS-DOS 的 FAT。
vfat Win85/98 的 VFAT。
nfs 网络文件系统。
iso9660 CD-ROM光盘的标准文件系统。
ntfs Windows NT的文件系统。
hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。
auto 自动检测文件系统。
可将经常使用的设备写入文件/etc/fastab
,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab
文件中。使用umount命令卸载设备时,记录将被清除。
sudo blkid
查看分区UUID,编辑/etc/fstab,在文件末尾加入UUID=********** /media/forec/Professional ntfs defaults 0 1
,ntfs随分区格式改变
误修改 /etc/profile 并更新
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin
恢复初始并修改错误的 profile 文件。
安装Google Chrome
可从此处 下载Chrome,或使用wget下载,32位地址为https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb
,64位地址为https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
。
下载完成后解包安装,sudo dpkg -i google-chrome-stable_current_amd64.deb
,可能出现缺少依赖项类的error。
sudo apt-get -f install
,处理error并安装chrome。
从终端输入google-chrome link_you_want
可从chrome访问网址,或从启动器启动。
Emacs Golang的代码跳转和补全
在emacs24中安装go-mode ,可通过ELPA 或根据链接中的介绍手动安装。
在emacs24中安装auto-complete插件。
设置环境变量GOPATH和GOBIN,GOBIN可设为/usr/local/bin
。
安装godef,go get github.com/rogpeppe/godef
,sudo go install github.com/rogpeppe/godef
,godef也可从此处 获取。代码释义为M-x godef-describe
或C-c C-d
,代码跳转为M-x godef-jump
或C-c C-j
,代码返回为M-*
。
安装gocode,go get github.com/nsf/gocode
,sudo go install github.com/nsf/gocode
。
修改.emacs
,增加load-path
:(add-to-list 'load-path "~/.emacs.d/path/to/load-path")
将文件$GOPATH/github.com/nsf/gocode/emacs/go-autocomplete.el
拷贝到$load-path目录下
修改.emacs
1 (require 'go-autocomplete)
(require 'auto-complete-config)
(ac-config-default)
修改.emacs
,使保存文件时gofmt:(add-hook 'before-save-hook #'gofmt-before-save)
颜色关键词高亮与背景色
安装rainbow-mode,可从此处 下载,或在melpa stable下载。
在.emacs
中增加hook使默认激活该模式,或启动后M-x rainbow-mode激活。
1 2 3 (add-to-list 'load-path "~/.emacs.d/path-to-rainbow-mode/" ) (require 'rainbow-mode ) (add-hook 'prog-mode-hook 'rainbow-mode )
Markdown-mode
1 2 3 4 5 6 7 8 (autoload 'markdown-mode "markdown-mode" "Major mode for editing Markdown files" t ) (add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode) ) (add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode) ) (autoload 'gfm-mode "gfm-mode" "Major mode for editing GitHub Flavored Markdown files" t ) (add-to-list 'auto-mode-alist '("README\\.md\\'" . gfm-mode) )
拼写检查
参考
flyspell
和 flycheck
是 Emacs 用于拼写检查的前端,配合 Aspell
、ispell
或者 hunspell
工作。
Linux 下可下载 Aspell 的源码,直接 make 并 install 即可。安装后需安装所需的 词典 。
Windows 下需使用二进制版本安装(msys2安装的aspell 会占用大量 CPU 并卡住)。当前(2017.2)最新的 Aspell Win32 版本 ,安装 Aspell 后再安装对应词典,词典会默认装载到 Aspell 安装目录下。
Flyspell
认为拼写检查程序为 ispell
,需向 .emacs
或 .spacemacs
的 user-init
中添加 (setq-default ispell-program-name "aspell")
。重启后可用 M-x flyspell-mode
启动。
实时检查会拖慢 Emacs 的速度,最好在平时关闭 flyspell,等到待检查部分完成后,将该部分 mark 起来,并使用 M-x ispell-region
。要对整篇文章进行检查,可使用 M-x ispell-buffer
进行人机交互的单词检查。人机交互时常用的命令包括:
<SPC>
:跳过当前单词(在 Spacemacs 中也是单纯的空格而非 M-m
。
r new <RET>
:拥新输入的单词替换拼写错误的单词。
R new <RET>
:拥新输入的单词替换拼写错误的单词,并且 flyspell 会询问是否替换掉文章中其他地方出现的类似错误。
a
:在当前区域中将提示的拼写错误作为正确的拼写。
A
:在当前 buffer 中将提示的拼写错误作为正确的拼写。
i
:将当前单词插入个人字典中,此后 Aspell
会将其当作正确的单词对待。
u
:插入当前单词的小写形式到字典中。
x
:退出单词拼写检查并将光标返回拼写检查开始前的位置。
Emacs 拼写部分手册
其它
C-x * c
启动计算器(逆波兰),C-x * t
打开计算器帮助。
Spacemacs 配置
Spacemacs
的配置多在 .spacemacs
文件中,其中 dotspacemacs-configuration-layers
中代表启动时加载的 layer
,例如 c++
则添加 c-c++
。
user-init
中加载个人在 EMACS 启动前需要的配置项。
个人启动项配置
(global-linum-mode 1)
:始终开启行号,如果当前 EMACS 较卡,则可 M-x linum-mode
关闭行号,会略加快速度。
启动 c++
layer:
1 (setq-default dotspacemacs-configuration-layers
'((c-c++ :variables
c-c++-default-mode-for-headers 'c++-mode)))
(setq-default dotspacemacs-configuration-layers
'((c-c++ :variables c-c++-enable-clang-support t)))
解决 Flyspell
模式报错(需先在 msys2
中安装 aspell
和 aspell-en
字典,但尽量从官网下载 Win32 版本的 aspell
和字典,msys2
安装的 aspell
有时会卡死):
1 (setq-default ispell-program-name "aspell")
(ispell-change-dictionary "american" t)
参考资料:
原创作品,允许转载,转载时无需告知,但请务必以超链接形式标明文章原始出处 (https://forec.github.io/2016/02/29/bugs-for-using-linux/ ) 、作者信息(Forec )和本声明。