ひこぽんのーと

覚書と雑記です。

最近開いたファイルを無効化する方法

Ubuntuではシステム設定のプライバシーポリシーから
ファイルの参照履歴を記録しないように設定ができるが、
Ubuntu mateではプライバシーポリシーの設定画面がない。

したがってコマンドで対応するしかないようだ。
原理としてはrecently-used.xbelに履歴が記録されるので、
このファイルが変更されないようにブロックすれば良いらしい。

cd ~/.local/share
cat /dev/null > recently-used.xbel
sudo chattr +i recently-used.xbel 

戻すには

sudo chattr -i recently-used.xbel

とやる。

参考文献

Synapticパッケージマネージャのインストールについて

Ubuntuには大抵インストールされていると思ったが、
Ubuntu mateにはインストールされていなかったので、
改めてインストールした。

コマンドをメモしておく。

sudo apt-get install synaptic apt-xapian-index 
sudo update-apt-xapian-index -vf

apt-xapian-indexをインストールしないとクイック検索が表示されない。

keymap定義のこと

今のPCでは、いわゆる106/109日本語キーボードを使っていない。
PowerMac G3なんかに付属していた古いUSBキーボードを使っている。

Ubuntu/Windowsともに、不自由はあまり感じないのだが、
ボリューム調整のキーとか、ディスクイジェクトのキーが効かなくて困ることが稀にある。

Ubuntu Mateをインストールしたら、このキーが効かなくて少しさみしかった。
そこで、キーボードのキーコードを調べて、機能を割り当てる方法を調べたので書いておく。

キーコードを調べる

xevコマンドを実行すると、キーイベントのモニタリングができるので、これを活用する。

.Xmodmapファイルを作る

ホームディレクトリに.Xmodmapというファイルを作る。
内容は下記のような具合に記述する。

keycode 122 = XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume
keycode 121 = XF86AudioMute
keycode 169 = XF86Eject

.profileにコマンドを追記する

.Xmodmapファイル作成後にxmodmapコマンドを実行して.Xmodmapファイルを読みこませればOK。
.profileにコマンドを追記しておけば、ログイン後に自動で実行される。

# modify keymap
xmodmap $HOME/.Xmodmap
参考文献

Apple Keyboard - ArchWiki

ubuntu-makeのこと

Android Studioをインストールしてみようと思って、
取得場所を探してみると、
ubuntu-makeの記事が目についた。

開発ツールの導入をサポートしてくれるアプリで、
これを使うと開発環境(この場合OSか)に合わせた"最新版"を導入できる、とのこと。
対象のツールも下記サイトによると多岐にわたっている。

はてなブックマーク - 第372回 Ubuntu Makeで簡単にAndroid開発環境を構築する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

ファイルを探してページをめくるより、
こっちのほうが楽そうなので使ってみた。

ubuntu-makeはppaから導入する。

sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make

使い方は簡単。
ターミナルから下記を実行すればOK。

umake android android-studio --accept-license

オプションの'--accept-license'はライセンス同意をスキップするオプション。
これを付けない場合は、ターミナルにライセンス条項が表示され、
同意をするかしないかを選ぶ必要があったらしいのだが、
実際に実行してみると、
そもそもライセンスが条項が取得できずにエラー終了してしまう。
そのため、このオプションを付けて実行した。

ubuntu-makeを実行するとインストールパスを問われるので、
適時修正後、enterを押すとダウンロードが始まる。
ダウンロードが終了するとubuntu-makeは終了してしまうので、
インストール先にあるandroid studioインストーラを実行する必要がある。

結局のところ、
今回のubuntu-makeはインストーラのダウンロードだけしかしていないけど、
ファイルを探しまわる手間を考えると、
これはこれでありのような気がした。

あとは、eclipseをインストールするとどうなるかを試してみたいが、
eclipseはすでにあるので、
次のLTSをインストールする際に試してみようかな。

ちなみに、android-sdkやらndkもインストールできるとマニュアルには書いてあったけど、
ファイルが見つからないとかなんとかで、sdkのインストールはできなかった。
結局、sdkやndkはandroid studioのメニューからインストールした。

Android-x86のこと

スマホ嫌いでガラケー持ちだけど、androidが触りたくて
PC用Android OSであるAndroid-x86をインストールしてみた。
VirtualBoxにインストールするのが楽だけど、
速度が出ないのでノートPCに入れてみた。

ISOイメージはAndroid-x86の開発元から取得した。

インストールメディアを焼くのが面倒だったので
Unetbootinを使ってブータブルUSBメモリを作り、
ノートPCにインストールした。

UNetbootin - Homepage and Downloads

インストールで迷うところはあまりないが、
ディスクのパーティションについては、
予め作成しておくほうが楽みたい。
ちなみにLVMは使えないので、
インストールにはプライマリパーティションが必要。
ファイルシステムには
Android 4.4ベースの場合はext3まで、5以降はext4が使用できる。

Ubuntuなどとのデュアルブート環境を構築している場合は、
Grubを上書きしないように注意が必要かも。(yes, noの選択でスキップできる)
また、EFI用のBootメニューを作るかどうかも聞かれるので、
EFIが不要の場合は間違って設定してしまわないように注意する。

GrubのメニューにAndroid-x86の起動メニューを追加した際は、
Grub設定を直接編集せず、Grub Customizerをインストールして、ツールから編集を行った。

編集内容については、Unetbootinで作成したUSBメディア内のsysLinux.cfgを参考に書き加えた。
ちなみに1行目のroot='hd0,3'(sda3の意)やカーネルなどのパスについては、環境によって当然変える必要がある。

set root='hd0,3'
linux /android-4.4-r5/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 src=/android-4.4-r5
initrd /android-4.4-r5/initrd.img

アプリによっては動かないものもあるけれど、
エミュレータよりはサクサク動かせるし、ストレスは少ない。

Ubuntu インストール時に手動でLVMパーティションを編成する方法

Ubuntuをインストールする際、
ディスクのパーティションをどうするかを選ぶことができるが、

  • ディスクをフォーマットし、自動編成する(オプションでLVM管理とするか否かを指定可)、
  • 手動でパーティション編成する
  • パーティションを変えず、上書きする

位しかできない。

インストーラでは手動パーティション編成を選んでも、LVM管理の操作は行えない。
パーティションを自分で編集し、
なおかつLVM管理としたい場合はどうしたら良いのかがわからなかった。

調べてみると、インストーラを起動する前に、事前にディスク操作が必要らしい。

少し古いがこの記事が役に立った。
ubuntu12.04 LTSまでの記述だったが、14.04 LTSでも同じ操作で問題なかった。

UbuntuDesktopLVM - Community Help Wiki

ここの手順は基本コマンドで対応するのだけれど、
なるべくGUIで操作したかったので、
そのあたりを記録しておく。

以下、実施した手順。

UbuntuのLive CDなりUSBメディアなりで起動。

ルートを含む起動中のディスクは編集できないので、別のメディアから起動する。

Dashからディスクを起動

 f:id:nagamitsu1976:20160415082746p:plain
画面から既存のパーティションを削除して、まずは物理的にパーティションを切る。
ここではBoot領域、Ubuntu領域、別OS領域とした。

領域名 タイプ フォーマット 備考
boot領域 primary ext2 自動インストール時に/bootがext2だったので。
Ubuntu領域 extended - 拡張領域に論理領域を作る事になる。
別OS領域 primary ext4 ここにインストールするOSがLVMを扱えるなら、このようにパーティションをわけずに、LVM論理パーティションの一つにできるのだが。

Gparted (Gparted パーティション編集ツール)を起動

Live CDに含まれるGpartedを使用して拡張領域に論理領域を作成する。
(画像は作成後のもの。作成時はマウントポイントもラベルもブランクでOK)
f:id:nagamitsu1976:20160415113741p:plain
/dev/sda2の拡張領域上にカーソルを合わせると、ツールバーの追加ボタンが有効になるので押す。
領域サイズとファイルシステムタイプを問われるので、
領域サイズは"すべて"、ファイルシステムタイプは"lvm2 pv"とする。
ダイアログを閉じるとパーティションは"新規追加"みたいな表示だけで、まだ確定されていない。
編集内容はツールバーの保存ボタンを押すと反映される。

ここまではLVM管理の受け皿を作ったに過ぎず、
実際のボリューム設定はコマンドで行った。
参考元の記事を見ながらやれば、間違いが少ない。

pvcreate 論理領域に物理ボリュームを作る

sudo pvcreate /dev/sda5

vgcreate ボリュームグループを作る

sudo vgcreate ubuntu-vg /dev/sda5

lvcreate 論理ボリューム、論理swapを作る

sudo lvcreate -L 16G -n lvswap ubuntu-vg
sudo lvcreate -l 100%FREE -n lvroot ubuntu-vg

lvdisplay 論理ボリュームの確認

sudo lvdisplay

mkfs.XXX mkswap ファイルシステムの作成

sudo mkfs.ext4 /dev/mapper/ubuntu--vg-lvroot
sudo mkswap -f /dev/mapper/ubuntu--vg-lvswap

ファイルシステムの名前(/dev/mapper以下)はグループ名+"-"+倫理ボリューム名にする。
その際、名称に"-"を含んでいる場合は、"--"としてエスケープしないといけない。
コマンドはファイルシステムext4用のものとswap用のもので異なるが、
使い方はだいたい同じ。

インストーラを起動

インストーラで手動選択を選ぶと、インストール先選択にLVM管理の論理ボリュームが表示されるので、
boot領域に/boot, ubuntu-vg-lvrootに/, ubuntu-vg-lvswapにswapをそれぞれ設定する。
ブートローダのインストール先は/dev/sdaとする。

インストールが完了し、再起動後、問題がなければOK。
参考記事では、再起動前にマウントしてみろとか書いてあったけど、
イマイチ理由が読み取れなかったので無視した。

というわけで、手動でディスク割り+LVM適用は、結構めんどくさいが、
最初にやっておけば、LVM管理の論理ボリュームは領域の増減が楽なので後々悩む必要がなくなるかもしれない。

ソフトウェアアップデートに失敗する時の対処方法

一度サボりぐせがつくと、いけませんね。
このブログ、1ヶ月以上放置してしまった。

ま、気を取り直して、書くだよ。

えっと、表題どおり、
ウチのPCが更新できなくなってしまった。

apt-get updateをかけると、こんなエラーで止まってしまう。

W: http://jp.archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-amd64/Packages の取得に失敗しました  ハッシュサムが適合しません
W: http://jp.archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/binary-amd64/Packages の取得に失敗しました  ハッシュサムが適合しません
W: http://jp.archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-i386/Packages の取得に失敗しました  ハッシュサムが適合しません
W: http://jp.archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/binary-i386/Packages の取得に失敗しました  ハッシュサムが適合しません

E: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。

URLにあるサーバーが何らかの事情で変わってしまったみたい。

更新できないのも困りものなので、更新サーバーを変更して対処してみる。
これは知らなかったのだが、
一口に日本サーバーといっても複数あるようなので、
別のサーバーをチョイスしてみることにした。

  1. [システム設定]のパネルから[ソフトウェアとアップデート]を選択し、ダイアログを表示する。
  2. Ubuntuソフトウェアのタブにあるダウンロード元を「日本のサーバー」から「その他..」を選ぶ。
  3. サーバー選択のツリーにある日本のサーバー群から好きなものを選ぶ。迷ったら[最適なサーバーを探す]ボタンを押して選んでもらう。
  4. [サーバーの選択]ボタンを押してダイアログを閉じる。

これで問題なく更新ができるようになった。

Ubuntuを使っていると日々、色々なことがあるねぇ。。