Ubuntu 16.10で通知領域のアイコンがピクピク動くのを何とかする その2
fcitxのソースを修正してアイコンの挙動を16.04の頃と同じにしたパッケージをppaにアップロードしてみた。
端末で、
sudo add-apt-repository ppa:sicklylife/ppa sudo apt update sudo apt upgrade
と実行した後、Ubuntuを再起動すればfcitxのインジケーターアイコンが昔と同じになる。
関連
Ubuntuでp7zip-fullをインストールしてもzipが文字化けしないようにする
Ubuntuでは、Windowsで作成した日本語を含むzipファイルを展開すると文字化けを起こしてしまうが、Ubuntu Japanese Teamのリポジトリを追加しておくと文字化けせずにzipファイルを展開できるようになる。
# 16.04の場合 wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add - wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add - sudo wget https://www.ubuntulinux.jp/sources.list.d/xenial.list -O /etc/apt/sources.list.d/ubuntu-ja.list sudo apt update sudo apt upgrade sudo apt install ubuntu-defaults-ja
しかし7zファイルを作成/展開するためにp7zip-fullをインストールすると再び文字化けを起こすようになってしまう。これはUbuntuのアーカイブマネージャー(File Roller)の仕様で、p7zip-fullがインストールされている環境ではzipの展開にp7zip-fullを使用するようになっているためで、回避するには機能が省かれたp7zipの方をインストールすればOKなのだが、p7zip-fullの方を使いたいしzipの文字化けも回避したいという人もいるのではないかと思ったので、File Rollerのソースを弄って文字化けしないようにしてみた。
端末で、
sudo add-apt-repository ppa:sicklylife/ppa sudo apt update sudo apt upgrade
と実行すれば修正されたバージョンにアップデートされる。
↑こちらの記事を参考にさせていただきました。
UbuntuとWindowsでファイルを書き込む際にドライブ上にどのように配置されるか比較してみた
※2016年12月27日、追記と若干の書き直し。
※追記。日本語に翻訳された記事は消えていたが、元の英語のページは残っていた → Why doesn't Linux need defragmenting?
以前、Windowsではファイルは連続して保存され、Linuxではディスクドライブ全体に分散されるように保存される、というような内容の記事を見た覚えがあったので、探してみたのだけれども既に消えていて、
一部を引用したページのみが見つかった。
↑の記事より引用。
Windows(FAT、NTFS?)は全てのファイルが隣り合うように配置するので、断片化しやすい
Linuxは散らばらせて配置するので、空き容量に余裕があるなら断片化は気にしなくてよい
Windowsに関してはデフラグツールを使えばファイルがパーティションのどの辺りに保存されているか一目瞭然だけど、Linuxだと分かりやすいGUIツールが無いので、本当に散らばらせて配置されているのか確認のしようがないなと思っていたのだが、よく考えたら最近のLinuxはWindowsのNTFSに書き込めるし、Linuxで書き込んでWindowsで確認すればいいんじゃないかという事に気がついたので、実際にNTFSでフォーマットされたパーティションにUbuntuから書き込んで、ファイルがどんな風に配置されるか確かめてみた。
Ubuntuでファイルをコピーして確認
- まずWindows 10でVドライブをNTFSで(クイックフォーマットでは無い方で)フォーマット。
- 次にUbuntu 16.10でホームフォルダーをVドライブへコピー(約3.5GiB、ファイル総数約96,000。コピーにはsnowcpを使用)。
- Windows 10でDefragglerを使ってVドライブを解析。
すると以下のように表示された。
パーティションの先頭部分以外に分散して書き込まれているが、思った以上に断片化している。しかし断片化が起こっていると言っても、その殆どが断片数が2なので、激しい断片化は起こっていない様子。最も断片化したファイルのサイズは約200MBで、断片数は7だった。
Windowsでファイルをコピーして確認
- VドライブにコピーしたホームフォルダーをWindows 10で別のHDDに移動。
- Windows 10で再びVドライブをNTFSで(クイックフォーマットでは無い方で)フォーマットし直し。
- 移動させたホームフォルダーを再びVドライブにコピー(コピーにはFastCopyを使用)。
- Defragglerを使ってVドライブを解析。
すると以下のように表示された。
パーティションの先頭部分にまとめて書き込まれている。ファイルの断片化は起こっていないが、$UsnJrnlの断片数が100を超えていた。
両者を比較してみて
ファイルを書き込む際に「Windowsは全てのファイルが隣り合うように配置」し、「Linuxは散らばらせて配置する」ことが確認できた。
NTFSはLinuxのfallocateに未対応なのでLinuxから書き込むとファイルの断片化が起きたが、ext4やXFSといったLinuxネイティブのファイルシステムなら断片化はもっと起こりにくいはず。
ただ分散して配置するということは逆に空き領域の断片化が起こっているということなので、パーティションの使用率が上がれば上がるほどファイルサイズの大きなファイルを書き込む際に断片化しやすくなる。
ファイル倉庫的な使い方(一度書き込んだファイルは編集しないし消さない)をするならWindowsのファイルの配置方法の方が良いような気がする。
VirtualBoxにUbuntu 16.04をインストールした後にやること
※2018年3月2日、16.04.4に合わせて若干の修正。
※2016年11月29日、ディスプレイの設定を追加。
↑この記事の続き。
Guest Additionsをインストール
ゲストのUbuntuを起動してログインした状態で VirtualBoxのメニューバーのデバイス → Guest Additions CD イメージの挿入 をクリック、
ゲストのUbuntuにCDが挿入されて "VBOXADDITONS_5.1.10_112026" には自動的に起動するソフトウェアが含まれています。実行しますか? といったダイアログが表示されるので「実行する」ボタンをクリック、パスワードを入力するダイアログが表示されるのでパスワードを入力、「認証する」ボタンをクリックする。
Press Return to close this window... と表示されたらEnterキーを押して端末を閉じ、ゲストのUbuntuを再起動する。
ディスプレイの設定を変更
仮想マシンを右クリックして設定ウィンドウを開き、ディスプレイ をクリック、3Dアクセラレーションを有効化*1 をクリックしてチェックを入れ、ビデオメモリーの値を 128MB に変更する。
ゲストのUbuntuを起動し、ゲストのUbuntuの端末で、
/usr/lib/nux/unity_support_test -p
と実行、Unity 3D supportedが yes になっているか確認しておく。
環境によっては3Dアクセラレーションを有効にするとまともに動作しなくなる場合があるので、その時は3Dアクセラレーションを有効化のチェックを外す。
ちなみに、昔は3Dを有効にしないとゲストのUbuntuの動作がすごく遅くて使い物にならなかったのだが、今では無効のままでも普通に使える軽さになっている。
クリップボードを共有
ゲストのUbuntuを起動した状態で VirtualBoxのメニューバーのデバイス → クリップボードの共有 → 双方向 をクリックしてチェックを入れ、ゲストのUbuntuを再起動するとホストOSとゲストOS間でクリップボードを共有できるようになる。
共有フォルダーを有効にする
ゲストのUbuntuで端末を起動し、
sudo gpasswd -a $USER vboxsf
と実行した後、ゲストのUbuntuを再起動すると共有フォルダーを利用できるようになる。共有フォルダーはファイラーのサイドバーからアクセスできる。
Ubuntuをアップデート
Ubuntuのランチャーの一番上にある「コンピューターを検索」をクリックして update と入力、「ソフトウェアの更新」をクリックして起動し、Ubuntuをアップデートする。
Low Graphics Modeを利用する
※2018年3月2日、昨日リリースされたUbuntu 16.04.4から、以下の設定は必要なくなった様子。
3Dアクセラレーションを有効にしている場合、設定をLow Graphics Modeに変更すると動作が軽くなるかもしれない。まずゲストのUbuntuでCompizConfig 設定マネージャをインストールする。
sudo apt install compizconfig-settings-manager
参考ページ
VirtualBoxにUbuntu 16.04をインストールする前にやること
※2016年11月29日、ちょっと追記、ディスプレイの設定を続きの記事に移動。
VirtualBoxをインストール
VirtualBoxの公式サイトからファイルをダウンロード、ダブルクリックしてインストールする(WindowsとUbuntuの場合)。
Extension Packをインストール
VirtualBoxの公式サイトからExtension Packをダウンロード、
ダブルクリックするとVirtualBoxが起動するので「インストール」ボタンをクリック、
ライセンスが表示されるのでスクロールバーを下まで動かし、「同意します」ボタンをクリックするとインストールされる。
仮想マシンの作成
VirtualBoxのツールバーの「新規」ボタンをクリック、仮想マシンの作成ウィンドウが表示されるので、適当な名前を入力し、タイプを Linux、バージョンを Ubuntu(32-bit) または Ubuntu(64-bit)*1 にして「次へ」ボタンをクリック、
メモリーサイズを適当な数値にして「次へ」ボタンをクリック、
仮想ハードディスクを追加しない*2 をクリックして「作成」ボタンをクリックする。
仮想マシンの設定の変更
作成した仮想マシンを右クリック → 設定 をクリックして設定ウィンドウを開く。
仮想ハードディスクドライブを追加
ストレージ をクリックして コントローラー:SATA をクリック、
ハードディスクの追加 をクリック、
「新規ディスクの作成」ボタンをクリック、
VDI を選択した状態で「次へ」ボタンをクリック、
可変サイズ を選択した状態で「次へ」ボタンをクリック、
任意の名前とサイズを入力して、名前欄の右側にあるフォルダーアイコンをクリック、
仮想ハードディスクファイルを置きたい場所を選択して「保存」ボタンをクリック、
「作成」ボタンをクリックする。
仮想光学ドライブを追加
コントローラー:IDE をクリックして 光学ドライブの追加 をクリック、
「ディスクを選択」ボタンをクリック、
先程ダウンロードしたUbuntuのisoファイルをクリック、「開く」ボタンをクリックする。
共有フォルダー*3を追加
共有フォルダー をクリック、フォルダーリストの 共有フォルダー を右クリックして 共有フォルダーを追加 をクリック、
フォルダーを選択し、自動マウントをクリックしてチェックを入れ、「OK」ボタンをクリックする。
最後に設定ウィンドウの右下にある「OK」ボタンをクリックすると設定が保存される。
Ubuntu 16.10でxkbを使ってキー配置を変更した
※2016年11月27日、ちょっと修正。
標準設定(fcitx-mozc)の場合
まず端末で、
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
と実行した後、
のページのように設定すればOK。
IBus(ibus-mozc)の場合
ibusの場合、fcitxの時よりもやらなければいけない事が増える。
例えば、
のページのようにibus-mozcをインストールし、
のページのように設定を行った場合、
sudo cp -i ~/.xkb/symbols/* /usr/share/X11/xkb/symbols/
といった感じで設定ファイルをコピーし、
echo 'mykbd:mymenu = +addmenukey(mymenu)' | sudo tee -a /usr/share/X11/xkb/rules/evdev
のように evdevファイル の末尾に一行追加した上で、
gsettings set org.gnome.desktop.input-sources xkb-options "['mykbd:mymenu']"
といった感じにxkbの設定を変更した後、一旦ログアウトしてログインし直すと設定が反映される。
Ubuntu 16.10でibus-mozcを使用する
※2016年11月23日、コマンドを修正。
↑の記事にあるように、現在のUbuntuのデフォルトのIMであるfcitxの仕様が変わって、ちょっとアレな感じだったので久しぶりにiBusを使用してみることにした。
まずOSDNの作業部屋、
からMozc UTをダウンロードし、端末を起動してビルドする。
#ダウンロードしたフォルダーに移動 cd ~/Downloads #展開 tar xavf mozc-*.tgz #フォルダー内に移動 cd mozc-*/ #ソースを修正 sed -i s/'const bool kActivatedOnLaunch = false;'/'const bool kActivatedOnLaunch = true;'/g mut/src/unix/ibus/property_handler.cc #ビルドに必要なパッケージをインストール sudo apt-get install -y clang libdbus-1-dev libglib2.0-dev libgtk2.0-dev subversion tegaki-zinnia-japanese debhelper libibus-1.0-dev build-essential libssl-dev libxcb-xfixes0-dev python-dev gyp protobuf-compiler libqt4-dev libuim-dev libzinnia-dev fcitx-libs-dev devscripts ninja-build #ビルド開始 sudo ./build_mozc_plus_utdict #ビルドが終了したらビルドに使ったパッケージを削除 tail -n 5 /var/log/apt/history.log | grep Install: | sed -e s/"Install: "// | sed -e s/", automatic"//g | sed -e s/"), "/"\n"/g | sed -e s/" (.*$"/""/g | tr '\n' ' ' | xargs sudo apt-get remove -y #Mozc UTをインストール sudo apt install ./mozc-*.deb ./fcitx-mozc_*.deb ./ibus-mozc_*.deb #↓これをしておかないとibusがうまく動かない gsettings set org.gnome.settings-daemon.plugins.keyboard active true
※関連:ibus-mozc の初期モードを「ひらがな」入力にする | uvirt.com
※関連:Ubuntu 14.04 LTS に Mozc UT Dictionary をインストールしてみた - 旧ID:itiriのブログ
Mozc UTをインストールしたら一旦Ubuntuを再起動する。
再起動したら、ランチャーの「システム設定」をクリックして起動、「言語サポート」をクリック、
「キーボード入力に使うIMシステム」を IBus に変更して「閉じる」ボタンをクリック、
iBusを有効にするために一旦ログアウトする。
ログインし直したらランチャーの「システム設定」をクリックして起動、「テキスト入力」をクリック、
「メニューバーに現在の入力ソースを表示」をクリックしてチェックを入れて画面右上の通知領域にアイコンを表示させ、「+」ボタンをクリック、
「入力ソースの選択」というウィンドウが開くので、検索欄にmozcと入力、日本語 (Mozc) (IBus)をクリック、「追加」ボタンをクリックする。
そのままだと全角/半角キーで日本語入力が出来ないので、「次のソースへ切り替え」の Super+Space をクリック、
新しいアクセラレーター...と表示されるので、全角/半角キーを押す。
また、好みに応じて「ウィンドウごとに異なるソースを使用」「新しいウィンドウではデフォルトの入力ソースを使用する」などに変更しておく。
ランチャーの「コンピューターを検索」をクリック、mozcと入力して「Mozc の設定」を起動する。
「キー設定の選択」の「編集」ボタンをクリック、
「コマンド」をクリックして並び替え、
「IME を無効化」となっているエントリーを右クリックして削除し、「OK」ボタンをクリックする。
Alt + F2キーを押し、ibus-setupを起動、
「プロパティーパネルを表示する」を「自動的に隠す」に変更、「閉じる」ボタンをクリックする。
※ただしプロパティーパネルはしばしばズレた位置に表示されるので非表示のままでもいいかもしれない。
コレでまぁ一応は使えるようになったような気がする。iBusだとMozcの初期入力モードが「ひらがな」になっていないと何か使い辛いので、いちいちMozcのソースを修正しないといけないのが面倒というか何というか。fcitxが元の仕様に戻ってくれればいいんだけどなぁ…