前提:
- ファイルのEncodeはutf-8
- ファイル先頭に#coding:utf-8が書かれてる
- マルチバイト文字列にはちゃんとuが付いてる
なのにおかしいときは、pythonのsystem encodingがおかしい? ここ参照
解決策:
.bashrcに次のコードを追加(Windowsなら環境変数)
export PYTHONIOENCODING=UTF-8
source .bashrc
前提:
なのにおかしいときは、pythonのsystem encodingがおかしい? ここ参照
解決策:
.bashrcに次のコードを追加(Windowsなら環境変数)
export PYTHONIOENCODING=UTF-8
source .bashrc
CentOS 7用のrpmを作ってibus-mozcをインストールしてみる
■CentOS7上のSublimeText3で日本語環境の作成
ibus-mozc (Linux)
mozc(Linux)
emacs-mozc (Linux)
SublimeMozcInput (Sublime Text)
sudo yum groupinstall "Development Tools" sudo yum install rpm-build redhat-rpm-config make gcc mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} cd rpmbuild
curl -O ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/19/Everything/source/SRPMS/m/mozc-1.10.1390.102-1.fc19.src.rpm
rpmbuild --rebuild mozc-1.10.1390.102-1.fc19.src.rpm
sudo yum install protobuf-devel glib2-devel qt-devel zinnia-devel gtk2-devel gyp ibus-devel emacs xemacs xemacs-packages-extra
rpmbuild --rebuild mozc-1.10.1390.102-1.fc19.src.rpm sudo yum install --enablerepo=epel zinnia-devel gyp xemacs xemacs-packages-extra rpmbuild --rebuild mozc-1.10.1390.102-1.fc19.src.rpm
cd /home/usename/rpmbuild/RPMS/x86_64/ sudo yum localinstall emacs-common-mozc-1.10.1390.102-1.el7.centos.x86_64.rpm ibus-mozc-1.10.1390.102-1.el7.centos.x86_64.rpm mozc-1.10.1390.102-1.el7.centos.x86_64.rpm mozc-debuginfo-1.10.1390.102-1.el7.centos.x86_64.rpm
通常のリポジトリにも無いのでepelで探す
sudo yum search --enablerepo=epel zinnia-tomoe
cd ~/rpmbuild rpm -ivh mozc-1.10.1390.102-1.fc19.src.rpm cd ~/rpmbuild/SPECS/ vim mozc.spec Requires: zinnia-tomoe <-- 削除 Requires: zinnia-tomoe-ja <-- 追加 Requires: zinnia-tomoe-zh_CN <-- 追加
cd ~/rpmbuild/SPECS/ sudo yum install --enablerepo=epel zinnia-tomoe-ja zinnia-tomoe-zh_CN rpmbuild -ba mozc.spec cd /home/usename/rpmbuild/RPMS/x86_64/ sudo yum localinstall emacs-common-mozc-1.10.1390.102-1.el7.centos.x86_64.rpm ibus-mozc-1.10.1390.102-1.el7.centos.x86_64.rpm mozc-1.10.1390.102-1.el7.centos.x86_64.rpm mozc-debuginfo-1.10.1390.102-1.el7.centos.x86_64.rpm cd ../noarch sudo yum localinstall *.rpm
Default (Linux).sublime-keymapが開くので、以下のように追記する
[ { "keys": ["ctrl+space"], "command": "toggle_mozc" }, ]
これで完成。
長かった。
https://packagecontrol.io/installation
上記のURLに入っているページを参考に
1.View>ShowConsole
2.Sublime Text3のコードをコピーアンドペーストでコンソールに貼り付け、Enter。
ConverToUTF8
1.ctrl+shift+pでパッケージコントロールを呼び出す。
2.「Install Package」を選択を選択してEnter
3.「ConverToUTF8」を選択して、Enter
これで、UTF8以外の文書を開く事が出来るようになる。
保存するときには、元の文字コードで保存されるので心配しなくても良い。
TralingSpaces
1.[Preference] → [Settings – User]
“draw_white_space”: “all”
(前の項目の最期に”,”を付けるのを忘れないこと)
2.ctrl+shift+pでパッケージコントロールを呼び出す。
3.「Install Package」を選択を選択してEnter
4.「TralingSpaces」を選択して、Enter
5.[Preference] → [PackageSetting] → [TrailingSpaces] → [Setting – User]
{
“trailing_spaces_regexp”: “ |[ \t]+”
}
を入力保存。再起動。
BracketHighlighter
1.ctrl+shift+pでパッケージコントロールを呼び出す。
2.「Install Package」を選択を選択してEnter
3.「BracketHighlighter」を選択して、Enter
Terminal
1.ctrl+shift+pでパッケージコントロールを呼び出す。
2.「Install Package」を選択を選択してEnter
3.「Terminal」を選択して、Enter
4.「ctrl+shift+t」でファイルが存在するフォルダを開く
All Autocomplete
1.ctrl+shift+pでパッケージコントロールを呼び出す。
2.「Install Package」を選択を選択してEnter
3.「All Autocomplete」を選択して、Enter
SublimeREPL(SublimeREPLは多言語のインタープリターを実行するパッケージ)
1.ctrl+shift+pでパッケージコントロールを呼び出す。
2.「Install Package」を選択を選択してEnter
3.「SublimeREPL」を選択して、Enter
日本語環境の作成は、CentOSでは簡単にいかなかったので、別記事で。
ターミナルで
google-drive-ocamlfuse -cc
と打ち込み実行
1.opamを入れる(OCamlという関数型言語のパッケージマネージャ)
yum groupinstall "Development Tools" yum install sqlite-devel fuse fuse-devel libcurl-devel zlib-devel m4 yum install ocaml ocamldoc ocaml-camlp4-devel ncurses-devel cd /etc/yum.repos.d/ wget http://download.opensuse.org/repositories/home:ocaml/CentOS_7/home:ocaml.repo yum install opam
2.google-drive-ocamlfuseのインストール(root以外で行う処理)
opam installすると不足しているyumパッケージを教えてくれるので、それを入れた後もう一度コマンドを実行する opam init opam update opam install google-drive-ocamlfuse
3.認証画面が出るので処理する(root以外で、GUI上の端末から行う)
vim ~/.bashrc PATH=$PATH:$HOME/.opam/system/bin export PATH source ~/.bashrc
4.認証を行う。(ブラウザが立ち上がるため、GUI上の端末で行う)
google-drive-ocamlfuse
■マウント処理
1.rootでスクリプトを作成(usernameは実際に使うユーザに置き換えること)
cd /usr/bin
vim gdfuse
#!/bin/bash su username -l -c "/home/username/.opam/system/bin/google-drive-ocamlfuse -label $1 $*" exit 0
chmod +x /usr/bin/gdfuse
2.マウントポイントの作成($USERになってから行うこと)
sudo mkdir /mnt/gdrive sudo chown $USER.$USER /mnt/gdrive
sudo vim /etc/fstab 次の行を追加(uid,gidは確認する。)
gdfuse#default /mnt/gdrive fuse uid=1000,gid=1000 0 0
3.マウントの実行($USERになってから行うこと)
sudo mount /mnt/gdrive
デスクトップ環境:X-windowとxfce
リモートのサーバ:tigerVNCサーバ
環境:サーバ:さくらVPS 4Gプラン CentOS7 minimal クライアント:Windows10
■xfceを入れる
0.remiリポジトリを入れる(前提のepelを入れるのを忘れないように)
1.epel,remiリポジトリのenabled=0にしておく
2.デスクトップ関連のgroupinstall
yum groupinstall –enablerepo=epel “X Window System” XFCE Desktop Fonts
3.xfce4-terminalのインストール?必要じゃ無いかも
yum install –enablerepo=epel xfce4-terminal xfce-utils
4.iconのインストール
yum install gnome-icon*
■tigervnc
0.tigervncを入れる
yum install tigervnc*
cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
1.vim /etc/systemd/system/vncserver\@\:2.service を行う
<USER>となっている部分を利用するユーザに変更する
2.自動実行するように変更する
systemctl daemon-reload
systemctl enable vncserver@:2
systemctl restart vncserver@:2
3.ファイアーウォールの設定
firewall-cmd –permanent –zone=public –add-port=5902/tcp
firewall-cmd –reload
■日本語用TTFフォント(Ricty)を入れる
0.gitを入れる
yum install git
1.FontForge のインストール
yum install fontforge
2.Inconsolata(Font) のインストール
git clone https://github.com/google/fonts.git
3.Inconsolataフォントをシステムにコピー
cd fonts/ofl
cp -r inconsolata /usr/share/fonts/inconsolata
4.Migu 1M のインストール
wget https://osdn.jp/projects/mix-mplus-ipa/downloads/63545/migu-1m-20150712.zip
unzip migu-1m-20150712.zip
cd migu-1m-20150712
mkdir /usr/share/fonts/migu-1m
cp migu-1m-*.ttf /usr/share/fonts/migu-1m
5.フォントキャッシュを更新
fc-cache -f -v
6.Rictyスクリプトの入手
git clone https://github.com/yascentur/Ricty.git
7.Rictyスクリプトの実行とインストール
cd Ricty
sh ricty_generator.sh auto
mkdir /usr/share/fonts/Ricty
cp Ricty*.ttf /usr/share/fonts/Ricty
8.フォントキャッシュを更新
fc-cache -f -v
今後の方向として、Python使って機械学習を勉強することを目指す。その途中目的地として、Python使ってTwitterbot建てる。できればマルコフ連鎖とか使って。
んで、その開発環境として。VPSのCentOS7上にvncサーバを立てて、リモートデスクトップを使い接続する。んで、そこでSublimetext3を使ってコーディング。
という感じで進める。進んだら、その状況を記事にする予定。
その際のLogrotateメモ。
vim /etc/logrotate.d/httpd
/var/log/httpd/*log { daily missingok rotate 90 notifempty sharedscripts prerotate `rpm -ql awstats|grep "awstats_updateall\.pl"` now -confdir="/etc/awstats" \ -awstatsprog="`rpm -ql awstats|grep "awstats\.pl"`" >/dev/null endscript postrotate /sbin/service httpd reload > /dev/null 2>/dev/null || true endscript }
ということで、さくらVPSのサーバを一個借りた。elggというOpenSourceのSNSプログラムを建てたりする予定。夕飯前にCnetOS7を入れたので、ボチボチ設定して行く予定。
アクセスリストを見ていると、非常に多くてうざいのでrobots.txtではなく、.htaccessで弾くことに。
order allow,deny order allow,deny allow from all SetEnvIfNoCase User-Agent "^MJ12bot/v?1\.[01]\.[0-9]{1,2}" shutout SetEnvIfNoCase User-Agent "MJ12bot" shutout SetEnvIfNoCase User-Agent "Baiduspider" shutout SetEnvIfNoCase User-Agent "Slurp" shutout Deny from env=shutout
以上のコードを追加した。正規表現は適当なので間違ってるかも。