予想外にもUbuntu14.04 Install Battleを繰り広げた on ASUS UX305FA-WHITE

UbuntuはWeb上でも情報が豊富で、インストールも楽々。そんな風に今まで思っていました。
実際、自分の仮想やらPCやらに入れる際にも、Liveイメージを焼いて入れてあげればきちんと起動、問題なくすべての機能が使えていました。


ですが、今回は一味違ったようです。以下に要約しておきます。

  • UX305にUbuntu 14.04のLiveイメージを入れて起動したところ、無線LANデバイスが使えない状態だった。
  • 問題点はドライバ不足であると推測。Live起動のまま、使えることを確認してからインストールしたいので、いろいろ調べた。
  • 結果、Liveイメージをカスタムし、ファイルを足して焼くことで解決した。

こういった具合でした。疲れました。以下、流れをメモしておきます。時間のある時に加筆します。公開から1月以内にはなんとかします。

インターネットでUbuntuの動作確認をしている動画を発見

それがこちら。


Ubuntu on the Asus Zenbook UX305

ほう。よく動くようですね。そう思いました。

Liveイメージで同様に試す→無線LANが使えない!

しかし、私が自分でいざLiveイメージを起動してみると、無線LANが使えませんでした。

  • OSに存在は認識されている。lspciでは表示される。
  • rfkill listで、ハードおよびソフトで止めていないか確認。問題なし。無論、機内モードでもない。
  • dmesgを確認したところ、ドライバが見つからないということらしい。一番怪しいのでこのドライバを探した。
  • どうやらこのところにある必要なファイルをコピーして起動すればいいらしい:OpenELEC/iwlwifi-firmware · GitHub
  • コピー先は/lib/firmware。しかし、Liveイメージでは起動後にファイルを追加しても、再起動で消滅してしまう。はて、どうしたものか?

Liveイメージのカスタマイズへ

前述のように、ドライバを読ませてやる手段に詰まっていました(実際はサービス再起動などいろいろ試しましたが駄目だったので割愛)。
ならば、いっそのこと、Liveイメージをカスタムして、それを起動すればいいのではないか?そう考えました。


調べてみれば、UbuntuにはどうやらUbuntu Custumization Kitというアプリケーションがあり、ベースになるイメージを指定してカスタマイズできるようです。
そのソフトを使い、コンソール画面による詳細なカスタムのタイミングで別の端末を起動、~/tmp/new-master-root(tmpまでは覚えているけどその下が自信ない)が
Liveイメージのルートとなるディレクトリですので、それ以下を編集しました(あとで加筆します)。


このISOイメージをUSBに焼き、Bootすることで無線LANが利用できるようになりました。


実際はインストール後にドライバを追加して再起動すれば済む話なんですけど、Ubuntuはインストール時にネットワーク接続があったほうが良いので、このようになりましたとさ。
おしまい。

自分がやりたいことをきちんとやるために

最近とてもいろいろ捗らない。確実に散らかってるせいなので片づけることにします。

ついでなんだけれども、どうして散らかっていると捗らないかをざっくりまとめて書いておく。 これは自分への咎め。やりたいことが多いなら、確実に一個ずつこなしていけ。

自分に注意:現状は机上の空論でしかないから自分で実践して裏付けしろ。

まとめから。

読まずにわかる3行まとめ。

  1. 余計なものが目につくと、興味を奪われてロスになるので片づけよう。
  2. 勉強机の漫画は隠せ。
  3. 本当にやりたいものなら、隠しても絶対見つけられるから隠せ。

本文は続きで記す。

続きを読む

個人的よく使うLinux系コマンド集

探してないですが、検索してもこういうの出ないなーって。
自分がよく使うものの中で、「初級編」、「中級編」、「上級編」に分けてます。世の中的には上級編は簡単すぎるかもしれません。

「初級編」では、覚えてないとCUI操作が厳しいものについて思い出しながら書きます。
「中級編」では、しってるとちょっとだけ楽に作業できるものについて思い出しながら書きます。
「上級編」では、あんまり使わないけどごくまれに知らないとできないこととかについて書きます。

この文章を読む際の前提知識としては、Linux系コマンドの書き方が読め、実行できることです。基準となる記事はあとで探すか書くかします。

初級編

cd

$ cd Documents
$ cd /usr/bin

カレントディレクトリを移動します。うしろに相対パス絶対パスで移動先を指定します。
指定しないとホームディレクトリへ移動します。あえて指定しない使い方もアリ、ということです。

ls

$ ls
$ ls -a
$ ls -al
$ ls -hF
$ ls -l *.cpp

ディレクトリ内のファイルとかを一覧表示します。引数で絞り込みができます。
オプションが便利なのいっぱいです。

-a
ドットから始まるファイルも表示します。
-l
権限や更新日時など、詳細情報も表示します。
-h
ファイルサイズとかの単位を、読みやすいものにします。
-F
ファイル・ディレクトリ名のうしろに、実行可能なら「*」、ディレクトリなら「/」など、記号を付けてみやすくします。
--color=auto
適度に色づけします。

cp

$ cp src dst
$ cp ~/Downloads/hoge.sh ./newhoge.sh

ファイルコピーです。srcをdstへコピーします。srcをファイル名、dstをフォルダ名にすると、同じ名前でdstで指定したディレクトリにコピーします。

-r
再帰的にディレクトリをコピーします。ディレクトリごとコピーしたいときにはたいてい使います。

mv

$ mv src dst

ファイル移動です。cpと似てます。

rm

$ rm hoge
$ rm -rf hoge

削除です。ごみ箱とかないですので、これで消したら元に戻せないと思ってください。

-r
再帰的に削除します。
-f
力づくで削除します。

ちなみに、一時的に消す目的なら、名前をmvで変えるのがいいです。

$ mv hoge.cpp hoge.cpp.old

cat

$ cat hoge.cpp
$ cat hoge.cpp | more
$ cat hoge.cpp | less

テキストを出力します。たいてい、画面に収まらないほど出力があるので、moreやlessとあわせて使います。

more

catの項で出したように、パイプライン処理でつかうことがほとんどです。出力を画面いっぱいになった時点で一時停止、リターンキーで進めます。戻ることはできません。

less

catの項で出したように、パイプライン処理でつかうことがほとんどです。出力を画面いっぱいになった時点で一時停止、上下カーソルキーはj/kで上下移動できます。hキーでlessの操作ヘルプが出たはずです。

中級編

pushd

$ pushd ~/.vim

基本的にcdと同じ動きします。ただし、移動前のディレクトリをすかっくに保存しておきます。これをpopdで取り出せます。

一時的なディレクトリ移動のときに使うと便利です。

popd

$ popd

pushdでスタックに入れたものをポップします。引数なしです。

grep

$ env | grep SHELL

たとえば上記のコマンドなら、env(環境変数一覧)の出力から、SHELLと入っている行だけ取り出して出力します。検索文字列には正規表現を指定できます。オプションで、大文字小文字の区別などいろいろ指定できます。

wc

$ wc test01.cpp
$ wc *.cpp

引数に指定したファイルの行数、単語数、文字数をカウントしてくれます。複数指定もできます。
標準入力からはできません。
コードの行数を数えるのに便利です。

du

$ du ~

ディスクの使用状況を表示します。ファイルサイズがいっぱい出てくるってことです。
オプションで単位をByte, kByte, MByteなど変更できます。あんまり使わないので覚えてないです。

上級編

find

$ find ~ -name "*.cpp"

引数で検索するディレクトリを指定。オプションで検索対象の条件を指定。

-name "*.cpp"
よく使うオプション。ファイル名がcppで終わるものを探す。

xargs

$ find . -name "*.cpp" | xargs wc

xargsは、後ろにつけたコマンドに、標準入力から受け取ったものを「引数として」渡します。
現在のディレクトリの全てのcppファイルの行数を出力するなどに用います。

現在のディレクトリのみならwcのワイルドカードで十分ですが、Javaなど、ディレクトリ階層が複雑な時にはfindで全て探し出して、そのファイル名をwcの引数へ渡す、といった使い方ができます。

man

$ man find

マニュアルを開きます。lessとだいたい同じ操作で読めます。引数には、詳細を知りたいコマンド名を書きます。

これはかなり基礎的なコマンドですが、マニュアルは大概が英語なので、実際はブラウザなどで調べたほうが速いというのがオチです。だから上級編にいます。
「こういう機能があったけど、オプションのつづりを忘れてしまった」など、そういう場合にはとても役立ちます。あ

Tips:思い出したら書き足すところ

思い出したら書きます。

間違っていたり追記すべきところがあったりする場合はコメントなどをいただけると嬉しいです。

結局 Windows で pLaTex を使うには何がいいの

WindowsTeXするにはいろいろ面倒なことがあります。

  • 全体の環境をどこに作るのか
  • プレビューをどうするのか
  • 統合環境をどうするのか

これら全てを解決する方法はただひとつです。

仮想Linux(UNIX)を作ってそこにTeXLiveを入れよう!

大丈夫です。怖くないです。

仮想環境を手に入れよう!

いくつかのダウンロードとインストールをするだけです。普通のソフトを入れるのとさほど変わらないです。


まずはVMWare Playerを入れます。インストール方法は検索しましょう。

そして適当なLinux(UNIX)のインストールイメージ(.iso ファイルとか)をダウンロードして保存しておきましょう。おすすめはUbuntuCentOSあたりです。

これを仮想環境に入れます。やり方はググった方がいいです。ざっくり書くと

  1. 仮想マシンを作成する
  2. 仮想マシンのドライブにダウンロードしたインストールイメージをマウントする
  3. 仮想マシンを起動して、適当に「次へ」とか押しながら進む

です。

じゃあTeXLiveを入れよう!

TeX wikiにだいたいインストール方法が書かれています。あとこの過去記事も参考になる可能性がちょっとあります。

最後に、統合環境を入れよう!

texmakerというのが個人的におすすめです。
インストールしたらコンパイルコマンドを弄っておきましょう。

統合環境いらず

Vimというエディタがあれば統合環境なんて要りません。私はTeX命令を全て手打ちするタイプなので、コンパイルだけ簡単になるplatex.vimというのを導入しています。設定をひとつ書き加えるだけでメインファイルの名前も縛りが消えます。
プラグインはneobundleで管理するといいでしょう。

だんだん雑になった。

CygwinのTeXlive 2013公式パッケージ版にpxdviを導入する

***ところどころ、手探りでよくわからない部分があります。間違っている箇所などありましたらコメントにてご指摘願います。***


TeX文章は、作成後もコンパイルして表示、そして修正して再度コンパイルし表示……と、一連の工程を繰り返していきます。他の人の作業を見たことあるわけではないですが、少なくとも私はそうです。


さて、前回の導入にあたって最後に1つ問題がありました。

  • 日本語入りdviが表示できない

大問題です(もしくは私の調査不足ですが、別環境で慣れ親しんだ方法が使えませんでした)。


代替案としてすぐにpdfにしてしまい、Adobe Readerで表示する方法をとっていましたが、いかんせん、ウィンドウを閉じないとpdfに上書きできません。これは面倒だ。
ということなので、pxdviを導入しました。

「日本語入りdviが表示できない」とは

dviはビューワで見られるはずです。TeXliveをインストールした直後にあるのはxdviだけでした。これは、日本語非対応(っぽい。少なくとも私は表示できませんでした)。

xdvi hoge.dvi
# 実行はできますが、英語だけ表示され、警告が出ます。


そこで、pxdviを入れようと思います。

pxdvi導入の小さな苦難

いろいろ検索した結果、以下のことがわかりました。

  • 無論Xが必要。Windows上に表示するならstartxwin.exeが使える(私はXを全部まとめてインストールしてしまったので、どれを入れればXが起動できるのかということについてはお答えできません)
  • tlmgrからインストールできるらしい
  • 2013ディレクトリ内のtexmfディレクトリをpxdvi実行時に参照するが、texmf-distに統合されたため、シンボリックリンクの作成が必要

このぐらいならたいしたことないです。私の環境でインストールした手順を以下に示します。

# ln -s
$ cd /usr/local/texlive/2013
$ ln -s texmf-dist texmf
# tlmgr upd
$ tlmgr update --self --all
# install
$ tlmgr --repository=http://www.tug.org/~preining/tlptexlive/ install pxdvi


これでインストールはできているはずです。

終わらない戦い

インストールが完了したはずなのに、実は起動できません。だいたい以下のようないきさつで原因を特定しました。

### 前提:Xは起動済で$DISPLAYも設定済
# とりあえず試しに起動してみる。
$ pxdvi
-bash: pxdvi is not found.
# 上のようなメッセージが出て要するに見つかりませんといわれます。
# バイナリがあるかどうかを確認します。
$ cd /usr/local/texlive/2013/bin/i386-cygwin
$ ls -al | grep xdvi
# 出力を確認すると、パーミッションがないようなので追加します。
$ chmod 755 pxdvi pxdvi-xaw.exe
# もう一度試しましょう。
$ pxdvi
-bash:pxdvi is not found.
# なぜ? pathから検索をかけます。
$ which pxdvi
# "not found"を意味するメッセージが返ってきます。
# では起動はできるxdviがどうなっているのでしょう。
$ which xdvi
/usr/local/bin
# こっちのフォルダのが読まれているようなので、そこに移動して確認します。
$ cd /usr/local/bin
$ ls -al | grep xdvi
# xdviがありました。シンボリックリンクのようなので、同様に作成してみます。
$ ln -s /usr/local/texlive/2013/bin/i386-cygwin/pxdvi pxdvi
$ ln -s /usr/local/texlive/2013/bin/i386-cygwin/pxdvi-xaw.exe pxdvi-xaw.exe
# これでいいでしょう。起動してみます。
$ pxdvi
# 起動できました!


というわけで、なぜかバイナリへのリンクが張られていませんでした。他にtlmgrでインストールしたソフトを起動したことがないので、これが標準なのかどうかわかりません。


ひとまず、起動したので一件落着。