まずはpythonの整理
最近,Ubuntuの設定やら何やらをしていたのだがPythonの環境がデフォルトで整っていたのでOpenCVでもやってみようかと思い立ち,ちょっとセットアップしてみた.
OpenCVは画像の認識とか加工とかをするライブラリです.最近,機械学習にも興味のあるぷりおにはちょうどいい機会だと思ってやってみました.
Ubuntuでやろうかと思ったけど,そっちはCUIベースでの操作を主にやっているのでMacでやってしまおうってことでMacに構築した.さてまずはpythonだが,macにもpythonは初めから入っているぽい.でも,かつていろいろいじくったせいでpythonが重複していろいろなところにいる!かつての自分は何もわかってなかったのかということを再認識しつつ,まずはせっかくだから綺麗にしちゃおう.
とりあえず一回
$brew uninstall python
を走らせる.あれ,まだpythonがいらっしゃる.ここで
$brew list
でpython関係のものを調べてみると,なんかたくさん出てきた.なんかpython導入したこと忘れてその都度入れてたのか...あほか.
結局何回か
$brew uninstall python
でhomebrewで導入したpythonは全消去.続いて,/usr/opt/以下のディレクトリを覗いてみた.
pythonがいた.
ということで,こいつも消した.
$port uninstall python
ってか,何でmacportでもhomebrewでも入れてんだ.あほか.って,昔のぷりおは意味もわからず他の人のブログのコマンドをコピペするだけの存在だったので...
だからこのあたりのことがわかるようになってきたのは何だかんだいって,linuxいじりだしたからなのかなあ.普段物理で使うのは計算だけだからあんま気にしてこなかったんですよね.
さて,これでpythonはみんな消えたかな...?っということで
$python
と打ってみた.pythonがいた...まだpython shellみたいなやつが立ち上がる...
どうもこいつがmac標準搭載のpythonっぽいが...まあいいか.消そう.ってことで居場所を突き止める.
$which python
すると,いらっしゃるディレクトリが返って行きたのでそのパスに対して
$ sudo rm -r (そのパス)
で葬った.すべてのpythonはいなくなった.
Pythonの導入
気をとりなおして一からpythonの環境を作っていきます.python3にすべきかpython2.7にすべきかは迷うところでしたがpython2.7は安定していて相変わらず人気が高いとの噂を耳にしたのでpython2.7にしてみましょう.
この場合は
$ brew install python
でOKです.が,なんかいろんなパッケージとかオプションとかあるので
$ brew info python
$ brew search python
などで情報を調べてからの方が良いでしょう.確認の意味を込めて
$ python
を打つと.pythonは復活していました.
Numpyの導入
OpenCVを使うためにはNumpyが必要みたいです.これはpythonの数値計算用のライブラリです.pythonのパッケージですから,pythonのパッケージ管理システムであるpipを使います.
$ pip install numpy
でNumpyの環境が整いました.
なんかもう疲れたので本題のOpenCVを導入する話はまた次回.
注目の投稿
【書評】光と物質の不思議な理論(R.P.Feynman)
今回は最近読んだ本を忘れないように感想をまとめておく,書評回にしたいと思います.自分は読みっぱなしのことが多いですが,たまにはまとめておいてログをつけていこうと思います.と言っても,書評というよりは読書感想文に近いと思います. 今回はR.P.Feynmanの「 光と物質の不思...
このブログの関連商品
2016年9月14日水曜日
2016年9月10日土曜日
Ubuntu 入門3(sshで通信する)
sshでmacと通信・リモートログイン
ここまでのセットアップでCUIログイン,$TERMの値にに応じて日本語・英語の切り替えを行ったりができるようになりました.ここで,Ubuntuに自分がメインで使っているmac book airからリモートログインできたら便利やなあと思ってsshを利用してログイン,及びファイルの送受信を行いってみたいと思います.
まずはイマイチよくわからなかったのでとりあえずいきなりsshコマンドを使ってつないでみました.
まず,Ubuntuの方で
$ ifconfig
を実行します.すると,自分のローカルIPが分かったのでそれを用いてログインしてみます.今度はmacから
$ ssh [user-name]@[ip address]
を実行.すると接続を拒否されました.さて何でだろうと思ってUbuntuの方をのぞいていったわけですが...
そこで思ったのが,そもそもsshのデーモン動いてんのか?ってことでこれを確認します.sshのデーモンの名前はsshdです.こいつがプロセスにいるかどうかを見てみましょう.
$ ps -A | grep sshd
を実行します.ps -Aでプロセスの一覧を検索して,その中からgrep sshdでsshdという文字列が入っているものを抽出します.すると...
何もでてこない...
デーモンがいらっしゃりませんでした.ってことでデーモンを起動させます.sshdの起動は絶対パスを使わないといけないっぽいので
$ sudo /usr/sbin/sshd
を実行します...あれ,sshdがない...入れ忘れ...?ってことで
$ sudo apt-get openssh-server
を実行してsshdが使えるようにします.そこで気をとりなおして
$ sudo /usr/sbin/sshd
を実行.今度は無事に実行されたようです.念のため
$ ps -A | grep sshd
で確認すると.今度はsshdが起動しているのが確認できました.sshdを止めたり再起動させたい時とかもあると思うのでそれについても調べてみた.sshdの情報は/etc/init.d/sshに入っているみたい.サイトによっては/etc/init.d/sshdとなっていましたが,自分の環境では/etc/init.d/sshにありました.なんの違いがあるのかはイマイチよくわかりませんでした.さてここで,
$ /etc/init.d/ssh [start/stop/restart/status]
を使うと,sshdの状態みたり再移動させたりができました.ということでデーモンが起動したのでもう一度macからログインしてみます.再び
$ ssh [user-name]@[ip address]
を実行.今度はパスワードを要求され,入力すると無事にログインできました.今後このUbuntuは計算用のサーバーとして使っていきたいなあとか思ってなんですけど,いちいちUbuntuを立ち上げたりするのはめんどいけど,だからと言って起動させっぱなしも電力食うから嫌.ってことでまずラップトップを閉じていても起動などができるようにします.この設定は/etc/systemd/logind.confにかかれています.なのでこれをvimで編集します.
$ sudo vi /etc/systemd/logind.conf
を実行して,変数Handleidswitchを書き換えます.
Handleidswitch=ignore
とすればこのラップトップは閉じたままでも使えるようになります.さて,シャットダウンするときはmacからリモートして実行してもいいし,cronとかに書いておけば時間設定して自動で消すこともできます.一方,自動で起動させるのはOSの起動よりも先に設定しなくてはいけないのでこれはUbuntuをいじくってもどうしようもない.そこでいじくるのはBIOSの設定.こちらはマシンによっても違うと思うので詳しくはわからないですが,自分は起動時にF2キーでBIOSの設定に入ったら起動のオプションで時間を設定して起動できるようになっていました.なので平日の9時くらいに自動でこのサーバーが起動するようにしておきます.するといちいちUbuntuをいじらないでも活動を始める頃にはmacからサーバーに入れるというわけです.
なんか長くなってきたからファイルの送受信は次回にします.
ここまでのセットアップでCUIログイン,$TERMの値にに応じて日本語・英語の切り替えを行ったりができるようになりました.ここで,Ubuntuに自分がメインで使っているmac book airからリモートログインできたら便利やなあと思ってsshを利用してログイン,及びファイルの送受信を行いってみたいと思います.
まずはイマイチよくわからなかったのでとりあえずいきなりsshコマンドを使ってつないでみました.
まず,Ubuntuの方で
$ ifconfig
を実行します.すると,自分のローカルIPが分かったのでそれを用いてログインしてみます.今度はmacから
$ ssh [user-name]@[ip address]
を実行.すると接続を拒否されました.さて何でだろうと思ってUbuntuの方をのぞいていったわけですが...
そこで思ったのが,そもそもsshのデーモン動いてんのか?ってことでこれを確認します.sshのデーモンの名前はsshdです.こいつがプロセスにいるかどうかを見てみましょう.
$ ps -A | grep sshd
を実行します.ps -Aでプロセスの一覧を検索して,その中からgrep sshdでsshdという文字列が入っているものを抽出します.すると...
何もでてこない...
デーモンがいらっしゃりませんでした.ってことでデーモンを起動させます.sshdの起動は絶対パスを使わないといけないっぽいので
$ sudo /usr/sbin/sshd
を実行します...あれ,sshdがない...入れ忘れ...?ってことで
$ sudo apt-get openssh-server
を実行してsshdが使えるようにします.そこで気をとりなおして
$ sudo /usr/sbin/sshd
を実行.今度は無事に実行されたようです.念のため
$ ps -A | grep sshd
で確認すると.今度はsshdが起動しているのが確認できました.sshdを止めたり再起動させたい時とかもあると思うのでそれについても調べてみた.sshdの情報は/etc/init.d/sshに入っているみたい.サイトによっては/etc/init.d/sshdとなっていましたが,自分の環境では/etc/init.d/sshにありました.なんの違いがあるのかはイマイチよくわかりませんでした.さてここで,
$ /etc/init.d/ssh [start/stop/restart/status]
を使うと,sshdの状態みたり再移動させたりができました.ということでデーモンが起動したのでもう一度macからログインしてみます.再び
$ ssh [user-name]@[ip address]
を実行.今度はパスワードを要求され,入力すると無事にログインできました.今後このUbuntuは計算用のサーバーとして使っていきたいなあとか思ってなんですけど,いちいちUbuntuを立ち上げたりするのはめんどいけど,だからと言って起動させっぱなしも電力食うから嫌.ってことでまずラップトップを閉じていても起動などができるようにします.この設定は/etc/systemd/logind.confにかかれています.なのでこれをvimで編集します.
$ sudo vi /etc/systemd/logind.conf
を実行して,変数Handleidswitchを書き換えます.
Handleidswitch=ignore
とすればこのラップトップは閉じたままでも使えるようになります.さて,シャットダウンするときはmacからリモートして実行してもいいし,cronとかに書いておけば時間設定して自動で消すこともできます.一方,自動で起動させるのはOSの起動よりも先に設定しなくてはいけないのでこれはUbuntuをいじくってもどうしようもない.そこでいじくるのはBIOSの設定.こちらはマシンによっても違うと思うので詳しくはわからないですが,自分は起動時にF2キーでBIOSの設定に入ったら起動のオプションで時間を設定して起動できるようになっていました.なので平日の9時くらいに自動でこのサーバーが起動するようにしておきます.するといちいちUbuntuをいじらないでも活動を始める頃にはmacからサーバーに入れるというわけです.
なんか長くなってきたからファイルの送受信は次回にします.
【書評】光と物質の不思議な理論(R.P.Feynman)
今回は最近読んだ本を忘れないように感想をまとめておく,書評回にしたいと思います.自分は読みっぱなしのことが多いですが,たまにはまとめておいてログをつけていこうと思います.と言っても,書評というよりは読書感想文に近いと思います.
今回はR.P.Feynmanの「光と物質の不思議な理論−私の量子電磁気学」について書きます.
Feynmanは量子電磁気学の創始者の一人でSchwinger,Tomonagaと共にノーベル賞を取っています.(このような文脈で名前をローマ字で書くのは朝永振一郎氏の「量子力学Ⅰ・Ⅱ」にしたがっている)
今回はR.P.Feynmanの「光と物質の不思議な理論−私の量子電磁気学」について書きます.
創始者自らの解説と言うだけで価値のあるものだが,この本は難解な量子電磁気学を一般の人向けの講演会で行った時のまとめのようである.Feynmanは「LECTURES ON PHYSICS」の著者として有名で,直感的な,しかし本質をついた議論をする.
今回の本も数式に頼ることなく独特な図を用いた議論で光と電子に関する現象をモデル化し,実験結果を再現する過程を分かりやすく記述している.物理をやっていない人が読んでも量子電磁気学とはこんなものかということは分かるであろうし,物理をやっている学生にとっても,普段数式になよりがちな量子論的な議論をイメージを持って取り組めるようになるという点で非常に勉強になる.
Feynmanらしいと思ったのは
「確率振幅を計算している」というよりも「長さの自乗がその事象を起こる確率を表すような矢印を探している」という方が性にあう.
との一節である.すぐに概念を持ち出すのではなく,簡単なものに帰着させるというのは本質をよく理解していないとできないことだと思う.
そもそも私がこの本を読んだのは,学部の量子力学の授業で経路積分について質問になった時,経路積分は数学的には少し難しいがこの本には経路積分の「思想」がよく書かれているとのアドバイスを受けたからであったが,確かに経路積分の思想がよく伝わってきた.光の反射のような身近な話題を経路積分的な発想で解いていた.可能性のあるすべての経路の反射を重ねあわせると,結局反射の法則を満たすような経路以外は打ち消しあって小さくなってしまうというものであった.これは直感に訴えかける見事な説明だと思う.
最終的にはこの本はファインマンダイアグラムを用いてクォークモデルを説明するところまで話が進む.
ファインマンの思想を垣間見る上では入門的な意味で素晴らしい書籍であった.
これからはこんな感じで物理や数学・情報系の本を読んだら読書記録をつけるという意味でこのような投稿をしていきます.
そもそも私がこの本を読んだのは,学部の量子力学の授業で経路積分について質問になった時,経路積分は数学的には少し難しいがこの本には経路積分の「思想」がよく書かれているとのアドバイスを受けたからであったが,確かに経路積分の思想がよく伝わってきた.光の反射のような身近な話題を経路積分的な発想で解いていた.可能性のあるすべての経路の反射を重ねあわせると,結局反射の法則を満たすような経路以外は打ち消しあって小さくなってしまうというものであった.これは直感に訴えかける見事な説明だと思う.
最終的にはこの本はファインマンダイアグラムを用いてクォークモデルを説明するところまで話が進む.
ファインマンの思想を垣間見る上では入門的な意味で素晴らしい書籍であった.
これからはこんな感じで物理や数学・情報系の本を読んだら読書記録をつけるという意味でこのような投稿をしていきます.
2016年9月9日金曜日
Ubuntu 入門2(文字化け対策)
Ubuntuの文字化け対策
前の投稿の続きです.Ubuntuをテキストログインしたのは良いですが,Helpを出したりDATEコマンドを打ってみたりした時に文字化けして,おそらく日本語の部分が□で置きかわるという非常に恐怖を煽る画面になりました.怖かったです.あれこれ調べて対策を取りました.
結局,やるべきことはロケートの環境変数LANGを日本語(ja_JP.utf-8)にしておくだけなのですが...
日本語でUbuntuを導入したため最初からこの設定は問題ありませんでした.
実際,ターミナルエミュレータを使って操作すると日本語はちゃんと出力されて何も問題ないのですが...テキストログインしてコンソールから利用するとうまくいかない.どうしたものかと思って色々調べて見た.
どうもデフォルトのままではテキストログインした時の操作画面,すなわち環境変数TERMがLinuxになっている時には,特別なことをしないと日本語は表示できないっぽい.特別なことというのはコンソールからfbtermとかいう日本語対応のターミナルエミュレータを起動するというもの.正直そこまでして日本語がいいわけでもないしこの方法はあんまり推奨されていないようなので,これは使わない.
そこで最終的にたどり着いたのは標準コンソールにいる時は設定言語を英語にして,それ以外の時は日本語にするというシェルスクリプトを書いてしまおうというものです.
書き込むのはおなじみの~/.bashrcです.vimを使って書きます.
$ sudo vi ~/.bashrc
で,最後に以下を付け加えます.
linux) LANG=C
LANGUAGE=en
LC_ALL=C;;
*)
esac
以上はただのcase文なので詳しい文法はhttp://shellscript.sunone.me/case.htmlなどに詳しく載っていたのでそちらを参照.
また,上のスクリプトの意味は,
case $TERM in ... esac で環境変数TERMに関しての場合分けをします.
linux) LANG=C
LANGUAGE=en
LC_ALL=C;;
の部分で標準コンソールにいる時に行う処理を書きます.LANG=Cは文字を英語で表示する処理.LANGEAGE=enはubuntuからの文字の出力を英語にする(厳密ではないかもしれない).LC_ALL=Cは時刻とか,その他もろもろを英語にする処理です.
また,例外処理
*)
の部分は何も書かなくても日本語でインストールしているのでいじらなくて良いです.
書きたかったら上と同様にして日本語の設定をかけばいいが,そこは必要最低限でにしておきます.
これを書き終えたら:wqで保存してvimを終了します.そして
$ sudo source ~/.bashrc
で変更を適用します.
するとうまくいきました.標準コンソールではちゃんと英語が使え,sshでmacとかから遠隔操作した場合はターミナルから日本語設定のものが使えるようになりました.まあ,別に日本語いらないような気もしてきたんだけど,せっかく入ってたからね...
ちなみに,情けない話ですがLANGUAGE=enの設定にすぐに気づけませんでした.LANG=Cの段階でコマンドのヘルプとかは英語になったので,「このコマンドは見つかりませんでした」的な表示のみ文字化けする理由がなかなか分からなかったんですよね.でも,□が出てこなくなっていたのでエンコードには問題ない.根本的にOSが日本語を出力していることに気づき,言語に日本語と英語が共存している
LANGUAGE=ja:en
がいけなかったのだと分かりました.
次回はsshでmacからubuntuを操作した話です.次で自分的には大体ひと段落です.
前の投稿の続きです.Ubuntuをテキストログインしたのは良いですが,Helpを出したりDATEコマンドを打ってみたりした時に文字化けして,おそらく日本語の部分が□で置きかわるという非常に恐怖を煽る画面になりました.怖かったです.あれこれ調べて対策を取りました.
結局,やるべきことはロケートの環境変数LANGを日本語(ja_JP.utf-8)にしておくだけなのですが...
日本語でUbuntuを導入したため最初からこの設定は問題ありませんでした.
実際,ターミナルエミュレータを使って操作すると日本語はちゃんと出力されて何も問題ないのですが...テキストログインしてコンソールから利用するとうまくいかない.どうしたものかと思って色々調べて見た.
どうもデフォルトのままではテキストログインした時の操作画面,すなわち環境変数TERMがLinuxになっている時には,特別なことをしないと日本語は表示できないっぽい.特別なことというのはコンソールからfbtermとかいう日本語対応のターミナルエミュレータを起動するというもの.正直そこまでして日本語がいいわけでもないしこの方法はあんまり推奨されていないようなので,これは使わない.
そこで最終的にたどり着いたのは標準コンソールにいる時は設定言語を英語にして,それ以外の時は日本語にするというシェルスクリプトを書いてしまおうというものです.
書き込むのはおなじみの~/.bashrcです.vimを使って書きます.
$ sudo vi ~/.bashrc
で,最後に以下を付け加えます.
linux) LANG=C
LANGUAGE=en
LC_ALL=C;;
*)
esac
以上はただのcase文なので詳しい文法はhttp://shellscript.sunone.me/case.htmlなどに詳しく載っていたのでそちらを参照.
また,上のスクリプトの意味は,
case $TERM in ... esac で環境変数TERMに関しての場合分けをします.
linux) LANG=C
LANGUAGE=en
LC_ALL=C;;
の部分で標準コンソールにいる時に行う処理を書きます.LANG=Cは文字を英語で表示する処理.LANGEAGE=enはubuntuからの文字の出力を英語にする(厳密ではないかもしれない).LC_ALL=Cは時刻とか,その他もろもろを英語にする処理です.
また,例外処理
*)
の部分は何も書かなくても日本語でインストールしているのでいじらなくて良いです.
書きたかったら上と同様にして日本語の設定をかけばいいが,そこは必要最低限でにしておきます.
これを書き終えたら:wqで保存してvimを終了します.そして
$ sudo source ~/.bashrc
で変更を適用します.
するとうまくいきました.標準コンソールではちゃんと英語が使え,sshでmacとかから遠隔操作した場合はターミナルから日本語設定のものが使えるようになりました.まあ,別に日本語いらないような気もしてきたんだけど,せっかく入ってたからね...
ちなみに,情けない話ですがLANGUAGE=enの設定にすぐに気づけませんでした.LANG=Cの段階でコマンドのヘルプとかは英語になったので,「このコマンドは見つかりませんでした」的な表示のみ文字化けする理由がなかなか分からなかったんですよね.でも,□が出てこなくなっていたのでエンコードには問題ない.根本的にOSが日本語を出力していることに気づき,言語に日本語と英語が共存している
LANGUAGE=ja:en
がいけなかったのだと分かりました.
次回はsshでmacからubuntuを操作した話です.次で自分的には大体ひと段落です.
2016年9月8日木曜日
Ubuntu 入門1(Ubuntuをテキストログインする)
Ubuntuの導入
先の投稿で述べた通り,かつてwindowsで動いていたPCをUbuntuとして復活させました.UbuntuはDebian系のLinuxOSです.UbuntuどころかLinux自体もほとんど触ったことがなかったのでうまくいかなかったことも多くありました.そこでこの記事に備忘録的な意味も込めて記録しておきます.
自分が触ったことのあるLinux系のOSはCentOSで,学部の授業で少し触ったことがある程度なのですが,今回のUbuntu導入に関しては全く役に立ちませんでした.(当然といえば当然)大学でもっと役に立つことを教えて欲しかったなあと思った今日此の頃です.
UbuntuのインストールはDVDを用いて行ったのですが,ここはインストーラーの指示に従っていけば良いだけなので省略します.この時日本語の環境設定を行ったのですがこの設定が後でテキストログインした時に苦労した原因になりました.
さて今日行ったのはUbuntuの各種設定についてです.
まず思いたったのはテキストログインできるようにしたいというところからです.
Ubuntuのテキストログイン
GUIでログインすると重くなってしまって嫌なので,テキストログインできるようにしました.いじくるくところは
/etc/defualt/grub
です.ここをviで書き換えます.bashで
$ sudo vi /etc/default/grub
を実行します.そこで環境変数の
GRUB_CMDLINE_LINUX_DEFAULT
の値を
splash quiet から splash quiet text
に書き換えます.各種の引数に関してはhttp://www.usupi.org/sysad/237.htmlに詳しい.
splash:スプラッシュ画面の表示
quiet:メッセージ出力の抑制
text:テキストモードで起動
書き換えた後は
$ sudo update-grub2
を実行して変更を適用させます.自分は最初これが分からないで苦労しました.というか,最初に書き換えた時は$ sudo update-grub2を実行した記憶がないのですが何故かテキストログインできちゃったのです.自分が実行させたことを忘れていただけかもしれないですが...
しかしできたらできたで問題ないじゃないかと思われるかもしれませんが,これをまたGUIでログインするように設定したいと思った時,
splash quiet text から splash quiet
に変更をすれば良いだけだと思ったのですがなかなか変わらない.結局
$ sudo update-grub2
にたどり着くまでに色々調べる羽目になっちゃいました.
テキストログイン後にGUIを起動する
CUIの方が軽いし大概の操作はこちらの方が効率良くできますが,GUIのソフトを使いたいなんて時もあるので,そのような時の対策をメモ.自分の使っている環境ではディスプレイマネージャはlightdmなので,以下各自の環境に合わせてlightdmをgdmなどに置き換えてください.
$ sudo service lightdm start
または
$ sudo start lightdm
これでコマンドラインからGUIを起動できます.
さて,テキストログインした後は文字化けに悩まされることになったのですが,これはまた次回.
先の投稿で述べた通り,かつてwindowsで動いていたPCをUbuntuとして復活させました.UbuntuはDebian系のLinuxOSです.UbuntuどころかLinux自体もほとんど触ったことがなかったのでうまくいかなかったことも多くありました.そこでこの記事に備忘録的な意味も込めて記録しておきます.
自分が触ったことのあるLinux系のOSはCentOSで,学部の授業で少し触ったことがある程度なのですが,今回のUbuntu導入に関しては全く役に立ちませんでした.(当然といえば当然)大学でもっと役に立つことを教えて欲しかったなあと思った今日此の頃です.
UbuntuのインストールはDVDを用いて行ったのですが,ここはインストーラーの指示に従っていけば良いだけなので省略します.この時日本語の環境設定を行ったのですがこの設定が後でテキストログインした時に苦労した原因になりました.
さて今日行ったのはUbuntuの各種設定についてです.
まず思いたったのはテキストログインできるようにしたいというところからです.
Ubuntuのテキストログイン
GUIでログインすると重くなってしまって嫌なので,テキストログインできるようにしました.いじくるくところは
/etc/defualt/grub
です.ここをviで書き換えます.bashで
$ sudo vi /etc/default/grub
を実行します.そこで環境変数の
GRUB_CMDLINE_LINUX_DEFAULT
の値を
splash quiet から splash quiet text
に書き換えます.各種の引数に関してはhttp://www.usupi.org/sysad/237.htmlに詳しい.
splash:スプラッシュ画面の表示
quiet:メッセージ出力の抑制
text:テキストモードで起動
書き換えた後は
$ sudo update-grub2
を実行して変更を適用させます.自分は最初これが分からないで苦労しました.というか,最初に書き換えた時は$ sudo update-grub2を実行した記憶がないのですが何故かテキストログインできちゃったのです.自分が実行させたことを忘れていただけかもしれないですが...
しかしできたらできたで問題ないじゃないかと思われるかもしれませんが,これをまたGUIでログインするように設定したいと思った時,
splash quiet text から splash quiet
に変更をすれば良いだけだと思ったのですがなかなか変わらない.結局
$ sudo update-grub2
にたどり着くまでに色々調べる羽目になっちゃいました.
テキストログイン後にGUIを起動する
CUIの方が軽いし大概の操作はこちらの方が効率良くできますが,GUIのソフトを使いたいなんて時もあるので,そのような時の対策をメモ.自分の使っている環境ではディスプレイマネージャはlightdmなので,以下各自の環境に合わせてlightdmをgdmなどに置き換えてください.
$ sudo service lightdm start
または
$ sudo start lightdm
これでコマンドラインからGUIを起動できます.
さて,テキストログインした後は文字化けに悩まされることになったのですが,これはまた次回.
2016年9月7日水曜日
PC再生
最近,かつて家族共用のPCで眠っているものを見つけました.
そもそもはwindows vistaの時代のもの(笑)だったのだが,windows7にアップグレードして数年前まで使っていた.
そんなPCにはいろいろと問題点があった.
そもそもはwindows vistaの時代のもの(笑)だったのだが,windows7にアップグレードして数年前まで使っていた.
そんなPCにはいろいろと問題点があった.
- 外装のゴムが溶けて汚い,ベタベタする
- いろいろな無駄なファイルがあったりしてとにかく重い
まず上の症状だけで使うのが嫌になってしまう.使ってるだけでなんか手がベタベタして非常に気持ち悪い.長年暑いところに眠っていたせいでゴムが完全に溶けていたのである.
さて,まずはこの症状を解消したい.そこでまずとった行動は
1.アルコールティッシュで磨く
コンビニとかでも売っているアルコールティッシュがあったので拭いてみた.これは意外と綺麗になりそうだった.詳しくは知らないですがアルコールは合成ゴムを溶かすみたいなのでベタベタしている表面を取り除けたのでしょう.局所的にはかつての滑らかさを取り戻していた.しかしこの方法では膨大にティッシュが必要であまり現実的ではありませんでした.そこで次の方法
2.除光液で拭いてみる
除光液も合成ゴムを溶かすようなのでそれで磨いてみた.これも部分的には溶けたゴムを取り除けるものの,磨きすぎると溶けすぎるが少ないとあまり汚れは落ちないというように調整が難しい.その上,除光液は母の所有物だったためあまりたくさん使うのは申し訳なかったのでやめた笑
3.消毒用エタノールで磨く
上の二つの経験から結局はエタノールがうまくいきそうだったのでより濃度の濃い消毒用エタノールを薬局で買ってきた.
エタノール |
これで磨くと,いい具合に表層が溶けて,ベタベタする面は取り除けた.これでマシン自体は復活した感じがする.
次に新しいOSを導入し,クリーンインストールした.ここは手頃にUbuntuにしておいた.Ubuntuの各種セットアップや苦労したことについては次回.
2016年9月3日土曜日
量子論 干渉縞ができる理由
宣伝ですが,このブログ用のツイッターを作ったので是非フォローしてください.このブログの宣伝とKEKやAPSなどのツイートをリツイートしたりします.
干渉縞の数学的な説明
サマチャレの演習でダブルスリットの実験を行い干渉縞が見える見えないから量子論の基礎的な枠組みを推測してきました.かつての投稿で予告した通り干渉縞の見える理由を数学的に解説します.
今回は数学的な内容なので普段,数学を使ってない人には難しいかもしれないですが,物理学科の学部生がやる初等的な量子力学の内容はこんな感じですっていう空気感はつたわると思いますので,ぜひ目を通してみてください.
では早速見ていきましょう.
まず,光子の状態ベクトルを\[\left|\psi\right\rangle\]で表します.この時光子の存在確率は波動として広がっていき二つのスリットを通ります.二つのスリットを通ると状態ベクトルは二つの状態に展開できます.適当にスリットに1,2というインデックスをつければ\[\left|\psi\right\rangle =\frac{1}{\sqrt{2}}\left[\left|\psi_{1}\right\rangle +\left|\psi_{2}\right\rangle \right]\]で表されます.ここで√2で割っているのは二つのスリットに入る確率は当確率と仮定しているからです.
ここでスクリーンの位置xで光子を観測するという行為は左からブラベクトル\[\left\langle x\right|\]を作用させることで実現されます.
スリット1からでた光子が位置xで観測されるとき,その間は平面波として伝わるとみなせます.なぜなら光子はその間で一切の操作を受けず,自由場で運動しているとみなせるからです.よって各スリットからの光子を位置xで観測する時の確率振幅は\[\langle x\left|\psi_{i}\right\rangle =Ae^{ik_{i}r_{i}}\quad\left(i=1,2\right)\]が成立します.
位置xで光子が観測される確率は確率解釈に従って,確率振幅の2乗で表されるから\[p\left(x\right)=\left|\langle x\left|\psi\right\rangle \right|^{2}=\frac{1}{2}\left|\langle x\left|\psi_{1}\right\rangle +\langle x\left|\psi_{2}\right\rangle \right|^{2}\] \[\therefore p\left(x\right)=\frac{\left|A\right|^{2}}{2}\left|e^{ik_{1}r_{1}}+e^{ik_{2}r_{2}}\right|^{2}\] \[\therefore p\left(x\right)=\left|A\right|^{2}\left[1+\cos\left(k_{2}r_{2}-k_{1}r_{1}\right)\right]\]が成立する.
上の式のcosで書かれるところが干渉を表しています.ある位置で観測される光子の個数はその位置での確率に比例します.よって,cosが最大になる時最も光子が多く,最小になる時に光子が少なるのです.この個数のムラが干渉縞として観測されます.
次にダブルスリットのそれぞれに偏光板をつけて光子が通ったスリットをトレースできるようにしたらどうなるのでしょうか.光子はスリットの状態に加えて偏光の状態も持つので光子の状態ベクトルは次のように表せます.\[\left|\psi\right\rangle =\frac{1}{\sqrt{2}}\left[\left|\psi_{1}\right\rangle \left|\perp\right\rangle +\left|\psi_{2}\right\rangle \left|\parallel\right\rangle \right]\]先ほどと同じ手順で確率を位置の関数として求めます.\[p\left(x\right)=\left|\langle x\left|\psi\right\rangle \right|^{2}=\frac{1}{2}\left|\langle x\left|\psi_{1}\right\rangle \left|\perp\right\rangle +\langle x\left|\psi_{2}\right\rangle \left|\parallel\right\rangle \right|^{2}\] \[\therefore p\left(x\right)=\frac{\left|A\right|^{2}}{2}\left|e^{ik_{1}r_{1}}\left|\perp\right\rangle +e^{ik_{2}r_{2}}\left|\parallel\right\rangle \right|^{2}\]ここで各偏光状態は独立なので\[\langle\perp\left|\parallel\right\rangle =0\]が成立します.よって\[p\left(x\right)=\left|A\right|^{2}\]です.今度は先ほどと違ってcosの項が現れません.これはいたる所一様な確率分布を示しています.よって今回は干渉縞は現れません.
さて,次は偏光板が2枚の時のケースですが,これはまた次の機会にしましょう.偏光板をある角度で2枚重ねると干渉縞が復活するのですが,次回はこれを見ていきます.
では次の更新をお楽しみに.
干渉縞の数学的な説明
サマチャレの演習でダブルスリットの実験を行い干渉縞が見える見えないから量子論の基礎的な枠組みを推測してきました.かつての投稿で予告した通り干渉縞の見える理由を数学的に解説します.
今回は数学的な内容なので普段,数学を使ってない人には難しいかもしれないですが,物理学科の学部生がやる初等的な量子力学の内容はこんな感じですっていう空気感はつたわると思いますので,ぜひ目を通してみてください.
では早速見ていきましょう.
まず,光子の状態ベクトルを\[\left|\psi\right\rangle\]で表します.この時光子の存在確率は波動として広がっていき二つのスリットを通ります.二つのスリットを通ると状態ベクトルは二つの状態に展開できます.適当にスリットに1,2というインデックスをつければ\[\left|\psi\right\rangle =\frac{1}{\sqrt{2}}\left[\left|\psi_{1}\right\rangle +\left|\psi_{2}\right\rangle \right]\]で表されます.ここで√2で割っているのは二つのスリットに入る確率は当確率と仮定しているからです.
ここでスクリーンの位置xで光子を観測するという行為は左からブラベクトル\[\left\langle x\right|\]を作用させることで実現されます.
スリット1からでた光子が位置xで観測されるとき,その間は平面波として伝わるとみなせます.なぜなら光子はその間で一切の操作を受けず,自由場で運動しているとみなせるからです.よって各スリットからの光子を位置xで観測する時の確率振幅は\[\langle x\left|\psi_{i}\right\rangle =Ae^{ik_{i}r_{i}}\quad\left(i=1,2\right)\]が成立します.
位置xで光子が観測される確率は確率解釈に従って,確率振幅の2乗で表されるから\[p\left(x\right)=\left|\langle x\left|\psi\right\rangle \right|^{2}=\frac{1}{2}\left|\langle x\left|\psi_{1}\right\rangle +\langle x\left|\psi_{2}\right\rangle \right|^{2}\] \[\therefore p\left(x\right)=\frac{\left|A\right|^{2}}{2}\left|e^{ik_{1}r_{1}}+e^{ik_{2}r_{2}}\right|^{2}\] \[\therefore p\left(x\right)=\left|A\right|^{2}\left[1+\cos\left(k_{2}r_{2}-k_{1}r_{1}\right)\right]\]が成立する.
上の式のcosで書かれるところが干渉を表しています.ある位置で観測される光子の個数はその位置での確率に比例します.よって,cosが最大になる時最も光子が多く,最小になる時に光子が少なるのです.この個数のムラが干渉縞として観測されます.
次にダブルスリットのそれぞれに偏光板をつけて光子が通ったスリットをトレースできるようにしたらどうなるのでしょうか.光子はスリットの状態に加えて偏光の状態も持つので光子の状態ベクトルは次のように表せます.\[\left|\psi\right\rangle =\frac{1}{\sqrt{2}}\left[\left|\psi_{1}\right\rangle \left|\perp\right\rangle +\left|\psi_{2}\right\rangle \left|\parallel\right\rangle \right]\]先ほどと同じ手順で確率を位置の関数として求めます.\[p\left(x\right)=\left|\langle x\left|\psi\right\rangle \right|^{2}=\frac{1}{2}\left|\langle x\left|\psi_{1}\right\rangle \left|\perp\right\rangle +\langle x\left|\psi_{2}\right\rangle \left|\parallel\right\rangle \right|^{2}\] \[\therefore p\left(x\right)=\frac{\left|A\right|^{2}}{2}\left|e^{ik_{1}r_{1}}\left|\perp\right\rangle +e^{ik_{2}r_{2}}\left|\parallel\right\rangle \right|^{2}\]ここで各偏光状態は独立なので\[\langle\perp\left|\parallel\right\rangle =0\]が成立します.よって\[p\left(x\right)=\left|A\right|^{2}\]です.今度は先ほどと違ってcosの項が現れません.これはいたる所一様な確率分布を示しています.よって今回は干渉縞は現れません.
さて,次は偏光板が2枚の時のケースですが,これはまた次の機会にしましょう.偏光板をある角度で2枚重ねると干渉縞が復活するのですが,次回はこれを見ていきます.
では次の更新をお楽しみに.
登録:
投稿 (Atom)