Lenovo Thinkpad E450をLinuxメインで使う(覚書)

1. まずはブートができるように

出荷時にWindowsが入っているものは, Legacy Bootをさせない. つまりWindows以外のOSを起動させない設定になってる. 再起動後EnterでBiosが起動するので, このBiosを次の要領でいじる.

  1. Secure Bootを止める
  2. Security->Secure Boot Disable

  3. Legacy Bootを許可する
  4. デフォルトではUEFI(Unified Extensible Firmware Interface)で許可されたOS, つまりWindows 8以外ではBootできない. よってBootかLegacyを選択する.

  5. 必要かは分からん
  6. Optimized Defaultの説明を読むと, Linuxブート失敗しそうな臭いがしてたのでDisableにしておいた.

    Security->Optimized Default Disable

で, 再起動. 以上!

2. キーボードレイアウト

`/etc/default/keyboard’を見れば今のデフォルトの設定が見れる.

terminalからコマンド:

[code]
sudo dpkg-reconfigure keyboard-configuration
[/code]

を打つと, まずはキーボードの型を選ぶリストが表示されるので

IBM Thinkpad 560Z/600/600E/A22E (テンキー有り)
IBM Thinkpad R60/T60/R61/T61 (テンキー無し)

から選ぶ.

次へいくと言語を選べるので, 日本語キーボードの場合は, 日本語,日本語(86), 日本語(かな)とか, 色々ある.
とりあえず「日本語(かな)」を選んで色々やったが, 設定がrebootしたら消えてしまう. なんだこれ.

3. pulseaudioをAdobe Flashに認識させる

ここを見れば分かる. これは仕様(という名のバグ)なのです.

https://wiki.archlinux.org/index.php/PulseAudio
http://ubuntuforums.org/showthread.php?t=1412153

上の二番目のURLにworkaroundが書いてある.

pulseaudioのコマンドライン設定ツールであるpacmdを使ってもいいが, GUIではるかに便利なpavucontrolというのがある. 更にこれをインストールするとこの手の設定で大体必要なものは入る.

[code]
sudo apt-get install pavucontrol
[/code]

ここからWorkaround(しつこいけど上の二番目のURLにも書いてあるよ):

1. 次の内容で保存せよ(仮に`~/pulse1’という名前で).
[text]
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
pcm.!default {
type pulse
}
ctl.!default {
type pulse
}
[/text]

でコピーせよ.

[code]
sudo cp ~/pulse1 /etc/asound.conf
[/code]

再起動すれば認識するようになっている!

4. Ubuntu 13.10でデスクトップのストリーム配信

`v4l2loopback’というのは仮想入力用デバイス. 直感的には画面のデータを流すためのパイプみたいなもの. LinuxでDesktop配信をやるなら, これか, これと同等の機能が要る.

ちなみに

https://code.google.com/p/webcamstudio/issues/detail?id=103

で質問して, 色々試してとりあえずFlashが仮想ビデオデバイスを認識しない問題の解決はした. 今ではFlashの仕様と思ってる.

いずれにせよ`v4l2loopback’をカスタマイズして作ったWebcamStudio用のカーネルデバイス`WSVideoDevice’を使う方が気分が良い. せっかくそのために作ってくれてるデバイスだしな!

一応`ffmpeg’をインストールするのが良いと書かれてあることが多いが, `avconv’に取って代わられてもう(2015/04の時点では)deprecatedなので, 敢えて入れる必要は無い.

それとこれはUbuntu 13に限った話かも知れないが, RepositoryにあるWebcamStudioはバージョンが6で, 相当古い. もう二年くらい前のやつだぞ,これ. こんなの使うくらいならコンパイルすっぞ!

まずコンパイルの最小構成は入ってるものとする(足りないと言われたら, 適宜apt-getしよう).
ちなみにgccは≧4.8を要求するよ!

[code]
sudo apt-get install ant openjdk-7-jdk
[/code]

で大体必要なものが入る.

次にWebcamStudioをダウンロード/展開だ!

[code]
wget http://sourceforge.net/projects/webcamstudio/files/latest/download
tar xvJf webcamstudio_0.72-r583.tar.xz
cd webcamstudio-0.72
[/code]

この最新バージョンには, 起動時にJavaのライブラリを読み込む命令がないので, そのまま`ant clean jar’でコンパイルするとコンパイルはできるかも知れないが起動時にランタイムのLibrary Not Foundエラーで落ちる.
なのでコンパイル前に`manifest.mf’に読み込むライブラリを追記してやらねばならない.

とにかく一回コンパイルすると,

[text]
[[echo]] java -cp "*.jar:…" webcamstudio.WebcamStudio
[/text]

という出力をしてくれて, この”で囲まれた部分がランタイムに必要なライブ
ラリのリストなので, 一度コンパイルしてみることをお薦めする. それには次のコマンドを打つ.

[code]
ant clean jar
[/code]

ちなみにここの出力で,

[text]
*/webcamstudio-0.72/${libs.junit_4.classpath}:
[/text]

はユニットテストのライブラリだけども, パラメータで指定しているためそのままだとエラーが出る. 「誤った代入です」ってね.

ランタイム時に無くても問題ないので消しておこう.

※もちろんインストールしてそのjarファイルをポインティングしてあげても良い.

manifest.mf:
[code]
Manifest-Version: 1.0
SplashScreen-Image: webcamstudio/resources/start.gif
X-COMMENT: Main-Class will be added automatically by build
Class-Path: a.jar b.jar c.jar …
[/code]

という内容になる. 留意点としてはライブラリは「絶対パス」でなくちゃいけない. そして区切りはコロンではなく半角スペース!

で, またant clean jarでコンパイルしたらjava -jar dist/WebcamStudio.jarで起動する.

面倒だったら起動ファイル`webcam’でも作っておけば良い(*は適宜書き換えること).

webcam:
[shell]
#!/bin/sh
java -jar /home/yokoyama/Downloads/webcamstudio-0.72/dist/WebcamStudio.jar
[/shell]

設定は画像貼っておこう. この通りにやれば多分うまくいく.

webcamstudio-setting-scene
webcamstudio dummy video setting

追記(2015/04/16):

別のディスクでに同じ要領でインストールしてみたところ, ‘libwebcamstudio.so’ Not Foundエラーが出ました.
vloopbackディレクトリで, `make libwebcamstudio’をしてできた*.soファイルを, /usr/libにでもコピっておきましょう.

おしまい!

5. mtpファイルシステムでAndroidデバイスをマウント

1. Go to the address below, download binary, add executable permission, then mv /usr/bin
http://hanwen.home.xs4all.nl/public/software/go-mtpfs/?C=M;O=D

2. Use it

[shell]
###USAGE
“`
mkdir xoom
go-mtpfs xoom &
cp -a ~/Music/Some-Album xoom/Music/
fusermount -u xoom
“`
[/shell]

コメントする