XBPSパッケージのリポジトリサーバーのURLはVoid Linuxを普通にインストールした状態ではcurrentリポジトリのみが登録されます。
一部のアプリケーションは32bit用のパッケージしかなかったり、ライセンスの関係でcurrentリポジトリに登録出来ないもの等は別途リポジトリのURLを追加しないと利用出来ません。
公式のリポジトリは手動で設定ファイルを書き換えずともパッケージを追加することでリポジトリを追加出来ます。
void-repo-multilib
void-repo-nonfree
void-repo-multilib-nonfree
などのパッケージがあります。
これ以外にもミラーサーバーのリポジトリなどが公開されており、ダウンロード速度が速いミラーサーバーを自分で指定することも可能です。
それ以外に自分でローカルのリポジトリを追加したい場合は/etc/xbps.dディレクトリ内に<任意の名前>.confを作成しファイル内に
repository=<URL>
の書式でパスを記述することでリポジトリを追加することが出来ます。
システムのデフォルト設定ファイルは/usr/share/xbps.dディレクトリにあり、ここにあるファイルと同名のファイルを/etc/xbps.dディレクトリに作成した場合は、/etc/xbps.dディレクトリのファイルが優先され設定をオーバーライドします。
リポジトリを追加後は必ず1回はxbps-install -Sを実行してパッケージリストのSyncを行いローカルに保存されているリスト情報を最新にしてください。
2016-07-27
2016-07-13
Void Linux:再度mozcのbuildに挑戦
以前mozcのxbpsパッケージを作ったのですが、いつの間にかエラーが出るようになってしまい使えなくなっていました。
直そうとは思っていたのですが、日本語入力が安定しないVoid Linuxでそこまでして使うか?
と、考えると仮想環境にインストールして遊んでいる分には全く必要なく、またAnthyで日本語入力が出来ない問題が解決できなかったので直すの保留にしていました。
日本語入力が不安定な問題を解決できたわけではないですが、一応日本語入力出来る状態がわかったのでmozcをビルドしなおしてみようと思います。
そういえばmozcのbuildってネットで調べても結構古いバージョンしか扱っていないサイトが多いので参考にならない場合が結構あるのですが、比較的新しいバージョンの記事ってあまりないんですよね。
今は日本人がよく利用するディストリビューションには大抵パッケージが用意されているのでそんなことする必要がないんでしょうけど。
テスト環境は
必要なパッケージは
他にも必要なパッケージがあるのですが、上記パッケージをインストールする中で依存パッケージとしてインストールされるので大丈夫みたいです。
zinniaとzinnia-tomoeは公式のパッケージリストには無いので自力でビルドしましょう。
depot_toolsのダウンロードが完了したらパスを登録しておきます。
本来一行で書くのですが、長いのでバックスラッシュ(¥表示になっているかも)を使って複数行にしています。
ここの設定を実行後にINFO: doneと表示されればOKです。
表示されない場合は設定一覧の出力部分よりも前にエラー内容が表示されるのでそれを参考に足りないパッケージをインストールして再度チャレンジして下さい。
こちらも長いのでバックスラッシュ(こっちも¥表示になっているかも)で複数行にしています。
コマンドはgitコマンドを入力したディレクトリから移動せずに実行しています。
記述するgypファイルのパスは作業ディレクトリからの相対パスになります。
問題なければビルドが開始されます。
工程が800以上あるのでそれなりに時間がかかります。
CPU2とRAM2GBの仮想環境で30分位かかりました。
ビルドが完了するとmozc/src/out_linux/Releaseにファイルが生成されます。
下記の→先のディレクトリに移動またはコピーして下さい。
パーミッションはアプリケーションのファイルは755で、画像ファイルは644にすれば大丈夫です。
あとはibusの設定をしてmozcがちゃんと動くか確認します。
確認してみると、自分の環境ではAnthyと同じで英語ロケールにしないと動作しませんでした・・・
もうこれってibusが悪いんじゃないですかね?
直そうとは思っていたのですが、日本語入力が安定しないVoid Linuxでそこまでして使うか?
と、考えると仮想環境にインストールして遊んでいる分には全く必要なく、またAnthyで日本語入力が出来ない問題が解決できなかったので直すの保留にしていました。
日本語入力が不安定な問題を解決できたわけではないですが、一応日本語入力出来る状態がわかったのでmozcをビルドしなおしてみようと思います。
そういえばmozcのbuildってネットで調べても結構古いバージョンしか扱っていないサイトが多いので参考にならない場合が結構あるのですが、比較的新しいバージョンの記事ってあまりないんですよね。
今は日本人がよく利用するディストリビューションには大抵パッケージが用意されているのでそんなことする必要がないんでしょうけど。
テスト環境は
- Void Linux x86_64 20160420バージョンをVirtualboxにインストールして最新の状態
- GuestAddisionsをインストール
- xorgをインストール
必要なパッケージは
clang python pkg-config git bzip2 unzip make ibus-devel zinnia zinnia-tomoe libglib-devel qt-devel glib-devel python-gobject2-devel gtk+-develでした。mozc公式のUbuntuでのインストールに必要なパッケージを参考にVoid Linux用に選びました。
他にも必要なパッケージがあるのですが、上記パッケージをインストールする中で依存パッケージとしてインストールされるので大丈夫みたいです。
zinniaとzinnia-tomoeは公式のパッケージリストには無いので自力でビルドしましょう。
depot_toolsの入手
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
depot_toolsのダウンロードが完了したらパスを登録しておきます。
export PATH=$PATH:[depot_toolsのパス]
mozcのソースコードを入手
git clone https://github.com/google/mozc.git -b master --single-branch --recursiveオプションはマスターの部分以外はよくわかりません。mozcのソースとセットになっているUbuntu用のDockfile内を見て真似してみました。
設定
GYP_DEFINES="ibus_mozc_path=/usr/libexec/ibus_mozc \
ibus_mozc_icon_path=/usr/share/ibus-mozc/product_icon.png \
document_dir=/usr/share/doc/mozc \
zinnia_model_file=/usr/lib/zinnia/model/tomoe/handwriting-ja.model" \
python mozc/src/build_mozc.py gyp
本来一行で書くのですが、長いのでバックスラッシュ(¥表示になっているかも)を使って複数行にしています。
ここの設定を実行後にINFO: doneと表示されればOKです。
表示されない場合は設定一覧の出力部分よりも前にエラー内容が表示されるのでそれを参考に足りないパッケージをインストールして再度チャレンジして下さい。
ビルド
python mozc/src/build_mozc.py build -c Release \
mozc/src/unix/ibus/ibus.gyp:ibus_mozc \
mozc/src/server/server.gyp:mozc_server \
mozc/src/gui/gui.gyp:mozc_tool \
mozc/src/renderer/renderer.gyp:mozc_renderer
こちらも長いのでバックスラッシュ(こっちも¥表示になっているかも)で複数行にしています。
コマンドはgitコマンドを入力したディレクトリから移動せずに実行しています。
記述するgypファイルのパスは作業ディレクトリからの相対パスになります。
問題なければビルドが開始されます。
工程が800以上あるのでそれなりに時間がかかります。
CPU2とRAM2GBの仮想環境で30分位かかりました。
ビルドが完了するとmozc/src/out_linux/Releaseにファイルが生成されます。
下記の→先のディレクトリに移動またはコピーして下さい。
パーミッションはアプリケーションのファイルは755で、画像ファイルは644にすれば大丈夫です。
mozc/src/out_linux/Release/gen_collocation_data_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_collocation_suppression_data_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_oss_sbm → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_suggestion_filter_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_symbol_rewriter_dictionary_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_system_dictionary_data_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_usage_rewriter_dictionary_main → /usr/lib/mozc/
mozc/src/out_linux/Release/mozc_renderer → /usr/lib/mozc/
mozc/src/out_linux/Release/mozc_server → /usr/lib/mozc/
mozc/src/out_linux/Release/mozc_tool → /usr/lib/mozc/
mozc/src/out_linux/Release/protoc → /usr/lib/mozc/
mozc/src/out_linux/Release/ibus_mozc → /usr/libexec/
mozc/src/out_linux/Release/gen/unix/ibus/mozc.xml → /usr/share/ibus/component/
mozc/src/data/images/unix/ime_product_icon_opensource-32.png → /usr/share/ibus-mozc/product_icon.png
mozc/src/data/images/unix/ui-alpha_half.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-alpha_full.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-dictionary.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-direct.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-hiragana.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-katakana_full.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-katakana_half.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-properties.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-tool.png → /usr/share/ibus-mozc/
あとはibusの設定をしてmozcがちゃんと動くか確認します。
確認してみると、自分の環境ではAnthyと同じで英語ロケールにしないと動作しませんでした・・・
もうこれってibusが悪いんじゃないですかね?
2016-07-12
ターミナルでのバックスクロール
ターミナルでアプリケーションのビルドをしていると、エラーで止まった際にいろいろ出力してくれます。
が、出力量が多いと画面外までスクロールしてしまい肝心なエラー内容がわからない場合がよくあるのでなんとかならんものかと考えていました。
GUIのターミナルアプリケーションは大抵スクロールバーがあってそれを使えば簡単にバックスクロールが出来るので問題ないのですが、Xサーバーを使っていないCUI画面でバックスクロールをするにはどうしたら良いのか・・
最初はエラーが出る処理の出力をパイプでlessとかに渡していたのですが、そんなことをしなくてもある程度ならばキーボード操作でバックスクロールが出来ることをついさっき知りました。
こんなことも知らないからいつになっても初心者から抜けられないんだと思います。
で、方法は、Shiftキーを押しながらPageUpやPageDownキーを押すことである程度バックスクロールができるそうです。
やってみたところ、5画面分くらい前の出力ならバックスクロールで確認が出来ました。
が、出力量が多いと画面外までスクロールしてしまい肝心なエラー内容がわからない場合がよくあるのでなんとかならんものかと考えていました。
GUIのターミナルアプリケーションは大抵スクロールバーがあってそれを使えば簡単にバックスクロールが出来るので問題ないのですが、Xサーバーを使っていないCUI画面でバックスクロールをするにはどうしたら良いのか・・
最初はエラーが出る処理の出力をパイプでlessとかに渡していたのですが、そんなことをしなくてもある程度ならばキーボード操作でバックスクロールが出来ることをついさっき知りました。
こんなことも知らないからいつになっても初心者から抜けられないんだと思います。
で、方法は、Shiftキーを押しながらPageUpやPageDownキーを押すことである程度バックスクロールができるそうです。
やってみたところ、5画面分くらい前の出力ならバックスクロールで確認が出来ました。
2016-07-11
Void Linux:たまったカーネルの削除
Void Linuxはローリング・リリースのディストリビューションなので頻繁にカーネルのアップデートが入ります。
その為古いバージョンのカーネルのファイルがどんどん溜まっていって/bootディレクトリが大変なことになってしまいます。
通常のパッケージならばxbps-removeコマンドで削除出来るのですが、カーネルイメージはこのコマンドでは削除できません。(パッケージファイルだけをアンインストールすることは可能)
手動でカーネルイメージを削除しなくてはならないのかと思いきや、それ用のシェルスクリプトがあることを最近知りました。たぶんVoid Linux専用です。
コマンドはvkpurgeです。
現在OSの起動に使われていないカーネルのリストを表示するには
リスト内にあるカーネルイメージを削除したい場合は
バージョンはリビジョンまでしっかりと指定しなくてはいけないみたいです。
カーネル削除後は勝手にupdate-grubを実行して起動リストを再作成してくれます。
その為古いバージョンのカーネルのファイルがどんどん溜まっていって/bootディレクトリが大変なことになってしまいます。
通常のパッケージならばxbps-removeコマンドで削除出来るのですが、カーネルイメージはこのコマンドでは削除できません。(パッケージファイルだけをアンインストールすることは可能)
手動でカーネルイメージを削除しなくてはならないのかと思いきや、それ用のシェルスクリプトがあることを最近知りました。たぶんVoid Linux専用です。
コマンドはvkpurgeです。
現在OSの起動に使われていないカーネルのリストを表示するには
$ vkpurge listとすることでインストール済みカーネルのバージョンをリスト表示してくれます。
リスト内にあるカーネルイメージを削除したい場合は
# vkpurge rm バージョンとすることで指定したバージョンのカーネルを削除してくれます。
バージョンはリビジョンまでしっかりと指定しなくてはいけないみたいです。
カーネル削除後は勝手にupdate-grubを実行して起動リストを再作成してくれます。
2016-07-09
Void Linux : そしてまた日本語入力が出来なくなる…
一つ前の記事はベースシステムをインストールした直後の状態なのでシステムロケールは英語のまま、そのまま使うとデスクトップ環境が英語のままで使い辛いと思ってシステムロケールを変更したら、なぜかまた日本語入力が出来なくなりました…
なんでやねん。
もう謎です。
ユーザーの.bashrcにexport LANG=ja_JP.UTF-8を書けばアプリケーションの一部は日本語環境になりますが、デスクトップ環境はそのまま。
再度アレコレ調べていると、ArchLinuxのWikiでロケールの設定に関する事でまだ自分がやっていない方法がありました。
/etc/locale.confにexport LANGUAGE=を使う方法。
これでgettextというのを利用するアプリケーションで使用ロケールの優先順位を変えられるらしい。
今の環境ではシステムロケールをja_JP.UTF-8にすると日本語入力ができなくなるので、/etc/locale.confの内容を
LANG=en_US.UTF-8としてOSを再起動させてみたところ、Mateデスクトップの表示は日本語になり、Anthyでの日本語入力も出来るようになりました。
export LANGUAGE="ja_JP:en_US"
これで一応解決したように見えますが、未だにOSの新規インストール時に日本語入力ができなくなってしまう環境が出来上がる問題はわからぬままなのでスッキリしません。
2016-07-08
久しぶりのVoid Linux 日本語入力が出来るようになりました
最近これといってLinuxでやりたいことがなかったのでほったらかしにしていたVoid Linuxですが、先日日本語入力が出来ない問題でコメントを頂いたのでそれを確認してみることにしました。
コメントをいただいた記事はこちら。
https://90luck.blogspot.jp/2016/04/void-linux.html
コメントにあるリンク先を見ると英文だ・・・グーグル先生に翻訳してもらうと、immodulesのキャッシュファイルのパーミッションが適切ではないことがあるらしく、root以外では読めない場合があるらしい。
そういう場合はchmod a+r で読み取りの権限を付けてあげると解決すると。
ん~、そうなのか・・・
ってimmodules.cacheファイルを確認してみると、パーミッションは644ですべてのユーザーに対してReadは許可されています。
念のため再度キャッシュファイルをアップデートしてchmodコマンドで指定されたファイルのパーミッションを変更し、再起動させてみてもやっぱり入力が出来ませんでした。
そもそもネットブックにインストールしているi686版ではそんなことせずともちゃんと日本語入力が出来るので関係有るのだろうか?
以前からOSの新規インストールをする度に入力できたり出来なかったりと不安定で、入力が出来ない状態が出来上がると何をやってもダメなのは以前からわかっていたので、新しく仮想環境を用意して試してみました。
手順としては、
・ベースシステムを最新の状態にする
・xorgをインストール
・mateデスクトップ環境をインストール
・ibusとanthyをインストール
・immodulesのキャッシュをアップデート(gtk2と3用)
・.bashrcにIM_MODULEの環境変数を書いて再読み込み
・ibusを起動
immodules.cacheにはchmodはしていません。
-rw-r--r--
となっていたので。
で、あっさりと日本語入力が出来てしまいました。
フォントは標準のものしかインストールしていないので汚いですが、ちゃんとAnthyで日本語入力が可能になりました。
それよりも久しぶりにVoid LinuxでMateデスクトップ使ったのですが、動作が軽くなっている気がします。
無事に日本語入力が出来るようになったのですが、結局はっきりとした原因がわからないまま使えるようになったので、根本的な解決には至っていない気がします。
コメントをいただいた記事はこちら。
https://90luck.blogspot.jp/2016/04/void-linux.html
コメントにあるリンク先を見ると英文だ・・・グーグル先生に翻訳してもらうと、immodulesのキャッシュファイルのパーミッションが適切ではないことがあるらしく、root以外では読めない場合があるらしい。
そういう場合はchmod a+r で読み取りの権限を付けてあげると解決すると。
ん~、そうなのか・・・
ってimmodules.cacheファイルを確認してみると、パーミッションは644ですべてのユーザーに対してReadは許可されています。
念のため再度キャッシュファイルをアップデートしてchmodコマンドで指定されたファイルのパーミッションを変更し、再起動させてみてもやっぱり入力が出来ませんでした。
そもそもネットブックにインストールしているi686版ではそんなことせずともちゃんと日本語入力が出来るので関係有るのだろうか?
以前からOSの新規インストールをする度に入力できたり出来なかったりと不安定で、入力が出来ない状態が出来上がると何をやってもダメなのは以前からわかっていたので、新しく仮想環境を用意して試してみました。
手順としては、
・ベースシステムを最新の状態にする
・xorgをインストール
・mateデスクトップ環境をインストール
・ibusとanthyをインストール
・immodulesのキャッシュをアップデート(gtk2と3用)
・.bashrcにIM_MODULEの環境変数を書いて再読み込み
・ibusを起動
immodules.cacheにはchmodはしていません。
-rw-r--r--
となっていたので。
で、あっさりと日本語入力が出来てしまいました。
フォントは標準のものしかインストールしていないので汚いですが、ちゃんとAnthyで日本語入力が可能になりました。
それよりも久しぶりにVoid LinuxでMateデスクトップ使ったのですが、動作が軽くなっている気がします。
無事に日本語入力が出来るようになったのですが、結局はっきりとした原因がわからないまま使えるようになったので、根本的な解決には至っていない気がします。
2016-05-27
Void Linux:ライブCDイメージ20160420バージョン
またもやすることがなくなって放置していたVoid Linux
ライブCDイメージのバージョンが20160420になっていました。
ダウンロードして仮想環境にインストールしてみたところ、一般ユーザー作成時にグループの設定をする項目が追加されていました。
デフォルトで幾つかのグループにチェックが入っています。今まではインストール後に手動でグループに加える必要があったvideoとaudioグループとXBPSパッケージ作成に必要なxbuilderグループが初期状態でチェックが入っています。
また、ライブCDでインストールされるカーネルは4.5.2です。
ライブCDイメージのバージョンが20160420になっていました。
ダウンロードして仮想環境にインストールしてみたところ、一般ユーザー作成時にグループの設定をする項目が追加されていました。
デフォルトで幾つかのグループにチェックが入っています。今まではインストール後に手動でグループに加える必要があったvideoとaudioグループとXBPSパッケージ作成に必要なxbuilderグループが初期状態でチェックが入っています。
また、ライブCDでインストールされるカーネルは4.5.2です。
2016-04-04
Void Linux:dhcpcd-gtk
Void Linuxでのブログネタが無い・・・
Void Linuxではデフォルトでdhcpcdというdhcpクライアントのデーモンがインストールされ、IPアドレスはDHCPからの自動割当になっています。
デスクトップ環境を何かしらインストールしている場合はよくNetworkManagerが使われているようですが、自分の場合はわざわざ追加でインストールするのも面倒なのでdhcpcdのまま利用しています。
でもたまには固定IPに変更したい場合にコマンド使うのは面倒。
って場合はdhcpcd-gtkというGUIアプリを使うと簡単です。
デスクトップ環境によってはアプリケーションメニューにNetwork Configuretorという名前で表示される場合もあります。
起動するとパネルの通知領域に常駐してネットワークの状態を通知してくれます。
このアプリはDHCPによる自動割当か手動による固定IPの設定とワイヤレスLANの設定(wpa_supplicant)の設定が行えます。
しかし一般ユーザーで起動し、Preferenceで設定を変更しようとすると/etc/dhcpcd.confの編集権限が無いため設定は行えない為、エラーが発生しますので現在の設定状態を確認出来るのみです。
設定を変更したい場合は管理者権限で起動して下さい。
変更後に設定した内容を有効にしたい場合は、Rebindボタンを押すことで設定ファイルの再読み込みを行ってくれます。
(Closeボタンを押すと設定ファイルへ書き込みが行われるのみです)
Void Linuxではデフォルトでdhcpcdというdhcpクライアントのデーモンがインストールされ、IPアドレスはDHCPからの自動割当になっています。
デスクトップ環境を何かしらインストールしている場合はよくNetworkManagerが使われているようですが、自分の場合はわざわざ追加でインストールするのも面倒なのでdhcpcdのまま利用しています。
でもたまには固定IPに変更したい場合にコマンド使うのは面倒。
って場合はdhcpcd-gtkというGUIアプリを使うと簡単です。
デスクトップ環境によってはアプリケーションメニューにNetwork Configuretorという名前で表示される場合もあります。
起動するとパネルの通知領域に常駐してネットワークの状態を通知してくれます。
このアプリはDHCPによる自動割当か手動による固定IPの設定とワイヤレスLANの設定(wpa_supplicant)の設定が行えます。
しかし一般ユーザーで起動し、Preferenceで設定を変更しようとすると/etc/dhcpcd.confの編集権限が無いため設定は行えない為、エラーが発生しますので現在の設定状態を確認出来るのみです。
設定を変更したい場合は管理者権限で起動して下さい。
変更後に設定した内容を有効にしたい場合は、Rebindボタンを押すことで設定ファイルの再読み込みを行ってくれます。
(Closeボタンを押すと設定ファイルへ書き込みが行われるのみです)
2016-04-03
Void Linux:日本語入力が安定して使えない
ここのところずーっとibusとibus-anthyでの日本語入力が全く出来ない問題について調べています。
タスクマネージャを見る限り正常に起動はしています。
ログにもエラーは出てません。
ユーザーディレクトリの.anthyと.config/ibusなどを消去して再起動してもダメ。
immodulesのキャッシュをアップデートしてもダメ。
~/.bashrcにGTK_IM_MODULEとかの変数を書いてもダメ。
ibusを起動している状態でなんとなくターミナルからGUIテキストエディタを起動したらちゃんと日本語入力出来ました。
Xfceのパネルに登録した起動アイコンから起動させると日本語入力は出来ないけど、ターミナルから起動すれば使える。
パネルからの起動にはアプリのコマンドに%Fが付いているけど、%Fが何を指しているのかわからないので手動でコマンド設定してショートカットを作成したもので起動してみるが日本語入力出来ず。
テキストエディタ以外にFirefoxでも同様にターミナルからコマンドでの起動だと検索ボックスなどで日本語入力ができるけど、パネルからの起動だと使えません。
う~ん…
なにが悪くて動作しなくなるのかさっぱりです。
タスクマネージャを見る限り正常に起動はしています。
ログにもエラーは出てません。
ユーザーディレクトリの.anthyと.config/ibusなどを消去して再起動してもダメ。
immodulesのキャッシュをアップデートしてもダメ。
~/.bashrcにGTK_IM_MODULEとかの変数を書いてもダメ。
ibusを起動している状態でなんとなくターミナルからGUIテキストエディタを起動したらちゃんと日本語入力出来ました。
Xfceのパネルに登録した起動アイコンから起動させると日本語入力は出来ないけど、ターミナルから起動すれば使える。
パネルからの起動にはアプリのコマンドに%Fが付いているけど、%Fが何を指しているのかわからないので手動でコマンド設定してショートカットを作成したもので起動してみるが日本語入力出来ず。
テキストエディタ以外にFirefoxでも同様にターミナルからコマンドでの起動だと検索ボックスなどで日本語入力ができるけど、パネルからの起動だと使えません。
う~ん…
なにが悪くて動作しなくなるのかさっぱりです。
2016-03-31
Linux:CUIでのモニタOFF防止 その後
過去の記事「Linux CUIでの未使用時モニタOFF機能を無効にしたい」でCUI時のモニタOFFを無効に出来るようになったのですが、CUIからデスクトップ環境を起動してターミナルを開くとそんなコマンド対応してねーよ!
って毎回エラーが出てしまいます。
エラーが表示されるだけで操作に実害があるわけではないのですが、表示されないようにしたいものです。
CUIとデスクトップ環境のGUIターミナルってどうやって違いを検出したらいいんだろう?
とそれぞれでenvコマンドを実行して出力内容を見てみると、環境変数TERMがCUIの時はlinux、GUIの時はxtermと変わっていることに気づきました。
これは使えるんじゃ?
ってことで~/.bashrcの内容を変更。
前回までの設定を無効化(消してもOK)
今回新しく設定
これで多分大丈夫・・・
って毎回エラーが出てしまいます。
エラーが表示されるだけで操作に実害があるわけではないのですが、表示されないようにしたいものです。
CUIとデスクトップ環境のGUIターミナルってどうやって違いを検出したらいいんだろう?
とそれぞれでenvコマンドを実行して出力内容を見てみると、環境変数TERMがCUIの時はlinux、GUIの時はxtermと変わっていることに気づきました。
これは使えるんじゃ?
ってことで~/.bashrcの内容を変更。
前回までの設定を無効化(消してもOK)
#setterm --blank 0
今回新しく設定
[[ $TERM == "linux" ]] && setterm --blank 0
これで多分大丈夫・・・
2016-03-30
Void Linux:ワイヤレスLANの設定
前回の記事でちょろっと書きましたが、dhcpcdのパッケージバージョンが6.10.0_1以降はワイヤレスLANをついでに有効にしてくれる設定が無効化されており、いままでワイヤレスLANが利用できていた場合でも6.10.0にバージョンを上げてしまうとその設定がリセットされてワイヤレスLANでの接続が出来なくなってしまいます。
dhcpcdでワイヤレスLANをついでに有効にしてくれるのはwpa_supplicantをhookしてくれているおかげですが、そのhookの設定がなくなってしまうために無効化されているようです。
いままでワイヤレスLANを使えていた環境ではwpa_supplicantの設定ファイルはそのまま残っているのでちょっと設定をすることで元に戻せます。
新規インストール後にワイヤレスLANを使いたい場合はhookの設定後にwpa_passphraseコマンドを使って設定を行うことで利用できます。
設定後はdhcpcdを再起動させてください。
dhcpcdでワイヤレスLANをついでに有効にしてくれるのはwpa_supplicantをhookしてくれているおかげですが、そのhookの設定がなくなってしまうために無効化されているようです。
いままでワイヤレスLANを使えていた環境ではwpa_supplicantの設定ファイルはそのまま残っているのでちょっと設定をすることで元に戻せます。
# ln -s /usr/share/dhcpcd/hooks/10-wpa_supplicant /usr/libexec/dhcpcd-hooks/シンボリックリンクを設定した後は既に起動しているdhcpcdを再起動させることで有効になります。
# sv restart dhcpcd
新規インストール後にワイヤレスLANを使いたい場合はhookの設定後にwpa_passphraseコマンドを使って設定を行うことで利用できます。
# wpa_passphrase [SSID] [パスフレーズ] >> /etc/wpa_supplicant/wpa_supplicant.confwpa_passphraseコマンドはそのままだと標準出力に結果(設定値)を出力するので、その設定値をwpa_supplicant.confへ追記する形で出力すればOKです。
設定後はdhcpcdを再起動させてください。
2016-03-29
Void Linux:ライブCDイメージが20160316バージョンになっていた
新規で仮想環境にインストールする前に一応チェックする程度なので更新されているのに気づきませんでした。
デフォルトのkernelが4.4.5になっています。
またOSインストールスクリプトのvoid-installerの項目がちょこっと変わってました。
追加された項目はインストーラでデフォルトの一般ユーザーを作成する項目が増えたことです。
しかしユーザーが追加されてもsudoコマンドで一時的に管理者権限を利用できるように設定されないので注意。sudoコマンドはインストールされているのでrootでvisudoコマンドを使って権限を与えてあげましょう。
また、ワイヤレスLANの設定を行ってもネット接続は出来ないと思われます。(有線接続は今までどおりです)
理由はdhcpcdのバージョン6.10以降はwpa_supplicantのhookを行わなくなったためです。
インストーラでワイヤレスLANの設定をしても、インストール後の環境をチェックしたら設定が反映されていませんでしたので間違いないかと思います。
2016-03-28
LinuxとAndroid-x86のマルチブート
Android-x86ではLinuxのkernelとGRUBを使ってブートしているので簡単にLinuxとマルチブートできると思っていたのですが、インストールされたAndroidのディレクトリツリーは特殊な為Linuxのupdate-grubコマンドを使っても自動検出はされません。
LinuxのGRUBでAndroid-x86を起動する場合の方法
まずLinuxを通常起動させます。
次にGRUBで他のOSを検出する際に使われているシェルスクリプトを編集します。
エディタで/etc/grub.d/40_customを編集します。
androidboot.hardwareの値はインストールする機器によって変える必要があるみたいですがよくわかりません。
ファイルを保存したらgrub.cfgのアップデートを行います。
# update-grub
これでPC内のOSを再スキャンし、先ほど記述した内容がgrub.cfgに追加されます。
動作確認するためにLinuxを再起動させましょう。
GRUBメニューに先ほど記述した項目名が追加されていれば成功です。
選択して無事にAndroid-x86が起動するか確認してみましょう。
LinuxのGRUBでAndroid-x86を起動する場合の方法
まずLinuxを通常起動させます。
次にGRUBで他のOSを検出する際に使われているシェルスクリプトを編集します。
エディタで/etc/grub.d/40_customを編集します。
menuentry 'Android-x86 4.4-r5' {set rootで指定するAndroid-x86がインストールされたパーティションは環境によって変化するので参考にされる方は要注意。
set root='hd0,gpt4'
linux /android-4.4-r5/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86
initrd /android-4.4-r5/initrd.img
}
androidboot.hardwareの値はインストールする機器によって変える必要があるみたいですがよくわかりません。
ファイルを保存したらgrub.cfgのアップデートを行います。
# update-grub
これでPC内のOSを再スキャンし、先ほど記述した内容がgrub.cfgに追加されます。
動作確認するためにLinuxを再起動させましょう。
GRUBメニューに先ほど記述した項目名が追加されていれば成功です。
選択して無事にAndroid-x86が起動するか確認してみましょう。
2016-03-26
Android-x86の初期設定
前回の記事で無事にインストールが完了したので起動させて初期設定を行います。
GRUBブートローダが起動しメニューが表示されます。
Linux使っている人ならお馴染みの画面です。
一番上のAndroid-x86 4.4-r5を選択して起動させます。
Androidのロゴが出て起動を始めます。少し時間がかかります。
ようこそ画面になるので一覧から日本語を選択して右矢印のボタンをクリックします。
Wi-Fiの設定ですが、VirtualBoxにはないのでスキップします。
Googleアカウントの設定です。Googleプレイストアではアカウントが必須になります。
アカウントを持っている人は「はい」を選択してアカウントを登録しておきます。
これから行う日本語キーボードへの対応でもストアは利用するのでアカウントを持っていない場合は作成しましょう。
位置情報の利用はGPSがないのでチェックは外して下さい。
GPSがなくてもIPアドレスでわかる位置情報は利用されます。
日付と時刻は日本語にしていれば勝手に設定されるのでそのまま次へ進みます。
タブレットの所有者名を設定します。
未入力で次へ進んで構いません。
これでホーム画面まで来ました。
この状態ですとキーボードの設定が英語キーボードなのと日本語入力が出来ないのでアプリをインストールします。
ホーム画面からPlayストアをクリック(タップ)してアプリを起動させます。
検索バーに「nihongo」と入力すると、Google日本語入力の検索候補が出るので選択します。
インストールします。
インストールが完了したら一旦ホーム画面へ戻り、設定のアイコンをクリック(タップ)して設定画面を表示させます。
ユーザー設定の「言語と入力」をクリック(タップ)します。
キーボードと入力方法の項目のデフォルトをクリック(タップ)すると、入力方法の選択ウインドウが表示されるので日本語(Google日本語入力)を選択します。
物理キーボードからAT Translated Set 2 Keyboardをクリック(タップ)するとキーボードレイアウトの選択ウインドウが出るので一覧から日本語を選択します。
これでJIS配列のキーボードの利用と日本語入力が出来るようになりました。
ホーム画面のNotesアプリなどで正常に設定されているか確認してみましょう。
インストールする方法があるんでしょうが、現時点ではわからず。
これの影響なのか、一部のアプリは正常に動作せずにクラッシュします。
(ChromeとFirefoxは使えませんでした)
GRUBメニューで起動リストの一番上(通常起動用の項目)を選択した状態でEキーを押します。
起動オプションの編集ができるようになるので、1行目を選択した状態で更にEキーを押します。
元から設定されている内容の後にスペースで間を開けて
UVESA_MODE=解像度
と入力します。解像度の値は1024x768というように、横の解像度x(小文字のエックス)縦の解像度で入力して下さい。
入力が終わったらエンターキーを押して前の画面に戻ります。
戻ったらキーボードのBキーを押して起動すると指定した解像度に変更されて起動されるはずです。
スリープになるとキーボードからの入力をしても解除されません。
VirtualBoxでは仮想マシンメニューからACPIシャットダウンを選択するとスリープが解除されます。
仮想環境では必要ない機能なのでOFFにしておきましょう。
実機にインストールした場合は電源がOFFに出来ないと不便です。
電源操作をするには上部中心より右辺りから下にスワイプするとメニューが表示されるのでそこから電源をOFFに出来ます。
GRUBブートローダが起動しメニューが表示されます。
Linux使っている人ならお馴染みの画面です。
一番上のAndroid-x86 4.4-r5を選択して起動させます。
Androidのロゴが出て起動を始めます。少し時間がかかります。
ようこそ画面になるので一覧から日本語を選択して右矢印のボタンをクリックします。
Wi-Fiの設定ですが、VirtualBoxにはないのでスキップします。
Googleアカウントの設定です。Googleプレイストアではアカウントが必須になります。
アカウントを持っている人は「はい」を選択してアカウントを登録しておきます。
これから行う日本語キーボードへの対応でもストアは利用するのでアカウントを持っていない場合は作成しましょう。
位置情報の利用はGPSがないのでチェックは外して下さい。
GPSがなくてもIPアドレスでわかる位置情報は利用されます。
日付と時刻は日本語にしていれば勝手に設定されるのでそのまま次へ進みます。
タブレットの所有者名を設定します。
未入力で次へ進んで構いません。
これでホーム画面まで来ました。
この状態ですとキーボードの設定が英語キーボードなのと日本語入力が出来ないのでアプリをインストールします。
ホーム画面からPlayストアをクリック(タップ)してアプリを起動させます。
検索バーに「nihongo」と入力すると、Google日本語入力の検索候補が出るので選択します。
インストールします。
インストールが完了したら一旦ホーム画面へ戻り、設定のアイコンをクリック(タップ)して設定画面を表示させます。
ユーザー設定の「言語と入力」をクリック(タップ)します。
キーボードと入力方法の項目のデフォルトをクリック(タップ)すると、入力方法の選択ウインドウが表示されるので日本語(Google日本語入力)を選択します。
物理キーボードからAT Translated Set 2 Keyboardをクリック(タップ)するとキーボードレイアウトの選択ウインドウが出るので一覧から日本語を選択します。
これでJIS配列のキーボードの利用と日本語入力が出来るようになりました。
ホーム画面のNotesアプリなどで正常に設定されているか確認してみましょう。
グラフィックドライバ
この時点でOpenGLのドライバが入っていません。インストールする方法があるんでしょうが、現時点ではわからず。
これの影響なのか、一部のアプリは正常に動作せずにクラッシュします。
(ChromeとFirefoxは使えませんでした)
画面解像度の変更
デフォルトだと画面解像度は800x600になっていますが、起動時にオプションを設定すると解像度を変更できます。GRUBメニューで起動リストの一番上(通常起動用の項目)を選択した状態でEキーを押します。
起動オプションの編集ができるようになるので、1行目を選択した状態で更にEキーを押します。
元から設定されている内容の後にスペースで間を開けて
UVESA_MODE=解像度
と入力します。解像度の値は1024x768というように、横の解像度x(小文字のエックス)縦の解像度で入力して下さい。
入力が終わったらエンターキーを押して前の画面に戻ります。
戻ったらキーボードのBキーを押して起動すると指定した解像度に変更されて起動されるはずです。
スリープ
初期設定では10分間何もしないとスリープします。スリープになるとキーボードからの入力をしても解除されません。
VirtualBoxでは仮想マシンメニューからACPIシャットダウンを選択するとスリープが解除されます。
仮想環境では必要ない機能なのでOFFにしておきましょう。
電源OFFの方法
VirtualBoxならばそのままアプリの状態を保存してしまえば次回もそのままの状態で起動できますが、実機にインストールした場合は電源がOFFに出来ないと不便です。
電源操作をするには上部中心より右辺りから下にスワイプするとメニューが表示されるのでそこから電源をOFFに出来ます。
2016-03-25
Android-x86をインストールしてみる
Distrowatchのサイトを眺めていたら、Android-x86というOSを発見しました。
どうやらAndroidをPCにインストール出来るようにしたものらしいです。
http://www.android-x86.org/
モバイル向けのOSだからポインタが表示されずに使えないんじゃない?
って思っていたのですが、ソフトウェアでポインタが表示されるので特に問題無いみたいです。
ダウンロードページから安定版のバージョン4.4-r5をダウンロードします。
ダウンロードページから別のサイトに飛ばされます。
ここには最新のTestバージョンなどもあるので間違えないように。
ISOイメージを入手したらインストールします。
VirtualBoxにインストールしますが、ちょっと特殊なOSなので設定を細かく指定します。
VirtualBoxのバージョンは5の最新版です。
スペックは敢えてしょぼくしてみました。
設定したら起動します。
ライブCDイメージなのでそのまま試用出来ますが、今回はいきなりインストールします。
一番下の項目のInstllationを選択します。
どこにAndroid-x86をインストールするか聞かれます。
ここでそのままsda(仮想HDD)を選択するとこの後の設定で処理が止まるので、Create/Modify partitionsを選択します。
GPTパーティションを使うかを聞かれるのでYesを選択します。
Linuxのインストールでよく見るお馴染みのパーティション設定画面になるので、Newを選択します。
1番目のパーティションの先頭セクタを聞かれますので何も入力せずにエンターキーを押して次に進みます。
その後パーティションのサイズをどうするか聞かれるので1Mと入力してエンターキーを押します。
パーティションのタイプを聞かれるのでコードを入力します。
この1MのパーティションはBIOSを使った起動に利用するのでコードをef02に指定します。
パーティションの名前を入力する状態になったらbios-bootとでも入力しておいてください。
(未入力でもOKです)
ここまででこのような状態になります。
先頭の番号が付いていない容量は何もせずにそのままにして、残りの空きをすべてAndroid用に割り当てます。
全部設定するとこのようになります。
Writeを選択し、設定した内容を書き込みます。
書き込みが完了したらQuitで終了します。
インストーラに戻りました。先ほどのパーティション設定で2つに分けたのでsda1とsda2のパーティションができています。
Android-x86をインストールするパーティションはsda2を選択します。
インストール先のパーティションをフォーマットします。
どのファイルシステムを使うか聞かれるのでext3を選択します。
フォーマットすることによりパーティションのデータがすべて削除されると注意が出ます。
そのままYesを選択します。
フォーマットはあっという間に終わります。
Linuxでお馴染みのGRUBブートローダーをインストールするか聞かれるのでYesを選択します。
次にEFI bootに対応したGRUBをインストールするか聞かれるのでSkipを選択します。
AndroidのSystemディレクトリを読み書き可能にするか設定します。
この設定はデバッグ目的で使用するのでNoを選択します。
インストールが完了しました。
そのまま起動も出来ますが、一旦Rebootを選択して再起動させます。
再起動するとまたライブCDのブートメニューが表示されるので、ゲストOSのウインドウを閉じて強制的にOSを終了させます。
シャットダウンしたら仮想環境の設定でライブCDイメージをアンマウントして設定を保存します。
これで終了です。
Android-x86のOS初起動は次回にします・・・
どうやらAndroidをPCにインストール出来るようにしたものらしいです。
http://www.android-x86.org/
モバイル向けのOSだからポインタが表示されずに使えないんじゃない?
って思っていたのですが、ソフトウェアでポインタが表示されるので特に問題無いみたいです。
ダウンロードページから安定版のバージョン4.4-r5をダウンロードします。
ダウンロードページから別のサイトに飛ばされます。
ここには最新のTestバージョンなどもあるので間違えないように。
ISOイメージを入手したらインストールします。
VirtualBoxにインストールしますが、ちょっと特殊なOSなので設定を細かく指定します。
VirtualBoxのバージョンは5の最新版です。
スペックは敢えてしょぼくしてみました。
設定したら起動します。
ライブCDイメージなのでそのまま試用出来ますが、今回はいきなりインストールします。
一番下の項目のInstllationを選択します。
どこにAndroid-x86をインストールするか聞かれます。
ここでそのままsda(仮想HDD)を選択するとこの後の設定で処理が止まるので、Create/Modify partitionsを選択します。
GPTパーティションを使うかを聞かれるのでYesを選択します。
Linuxのインストールでよく見るお馴染みのパーティション設定画面になるので、Newを選択します。
その後パーティションのサイズをどうするか聞かれるので1Mと入力してエンターキーを押します。
パーティションのタイプを聞かれるのでコードを入力します。
この1MのパーティションはBIOSを使った起動に利用するのでコードをef02に指定します。
パーティションの名前を入力する状態になったらbios-bootとでも入力しておいてください。
(未入力でもOKです)
ここまででこのような状態になります。
先頭の番号が付いていない容量は何もせずにそのままにして、残りの空きをすべてAndroid用に割り当てます。
全部設定するとこのようになります。
Writeを選択し、設定した内容を書き込みます。
書き込みが完了したらQuitで終了します。
インストーラに戻りました。先ほどのパーティション設定で2つに分けたのでsda1とsda2のパーティションができています。
Android-x86をインストールするパーティションはsda2を選択します。
インストール先のパーティションをフォーマットします。
どのファイルシステムを使うか聞かれるのでext3を選択します。
フォーマットすることによりパーティションのデータがすべて削除されると注意が出ます。
そのままYesを選択します。
フォーマットはあっという間に終わります。
Linuxでお馴染みのGRUBブートローダーをインストールするか聞かれるのでYesを選択します。
次にEFI bootに対応したGRUBをインストールするか聞かれるのでSkipを選択します。
AndroidのSystemディレクトリを読み書き可能にするか設定します。
この設定はデバッグ目的で使用するのでNoを選択します。
インストールが完了しました。
そのまま起動も出来ますが、一旦Rebootを選択して再起動させます。
再起動するとまたライブCDのブートメニューが表示されるので、ゲストOSのウインドウを閉じて強制的にOSを終了させます。
シャットダウンしたら仮想環境の設定でライブCDイメージをアンマウントして設定を保存します。
これで終了です。
Android-x86のOS初起動は次回にします・・・
登録:
投稿 (Atom)