2013/01/23

icecast2 で複数のストリームを流す(下)


(上)の続きです。

取り敢えず試みたけど失敗しました、あるいは必要ありませんでした、という作業の記録を残します。


(1)icecast2 の名前を変えたコピーを複数作って起動  → 失敗


これは Windows で Shoutcast の DNAS を複数起動する時に使った手です。首尾良く、こんなブログエントリが見つかりました。ただ、Windows のそれと違って設定のファイルがあちこちに散乱しているので、ホントに手間が掛かりました。

■ 別ポートでIcecastサーバーを複数起動する
http://se-suganuma.blogspot.jp/2009/09/icecasticecast.html

手取り足取りとても丁寧に解説されていて、思わずひゃっほーい!と声を上げて試してみたのですが、起動してみるといきなり最初の1文字も表示せずに止まってしまいます。よーく読むとこれ、 icecast2 ではなくて無印 icecast だったのです。icecast2 ではこういう需要にデフォルトで対応したんでしょうね。

あ、それから起動スクリプトは Ubuntu 12.04 だと /etc/init.d にありましたよ。



(2)複数のユーザでそれぞれ icecast2 を起動  → 失敗


以下は、長くなるのですが…本筋には全く関係ない作業ログです。自分が悪いのかもしれないけど、トラブルの渦に巻き込まれ、冷や汗かきながら復活を試みました。ローカルのマシンなら CD/DVD/USB memory でブートしてあれこれリカバリーしようと思うんだろうけど、安い VPS だからそれもままならず。何とかキーボードとマウスでできる方法で解決するしかなかったのです。


linux のユーザを複数作ってそれぞれで icecast2 を動かしたら複数ストリーム出せるんじゃないかと思って実際にやってみたら、見事に失敗(必要ないプロセスなので詳細は割愛)。おまけに後始末でとんでもない荷物を背負ってしまいます。useradd の時に /home にディスクスペースを割り振らなかったり(だってHDDの容量が 100GB しかないし!) -o オプションで複数のユーザに同じ gid を割り振ったり、仕組みがよく分かってないのにむちゃなことをしたのがいけなかったのかな…とか、いまはとても反省しています。

で、結局のところ要らなくなったユーザをバッサリ userdel し、再起動したところから悪夢が始まります。

lightdm のログイン画面では、なぜかそのゾンビアカウント以外のアカウントを選択できなくなっていて、ゲストログイン以外のログインができなくなってしまったのです。なぜに? なんでやねーん!

仕方ないのでリブートして SSH でコンソールログインして、ユーザの強制削除を試みました。ところがゾンビを userdell しようとしても「ログインしている」とうそをつくのでうまく削除できない。本当にログインしている時の対処法である「まず当該ユーザのプロセスを kill」しようにもそもそも存在していないのだから、もうよちよちユーザとしてはお手上げです。


■ Linuxでユーザを削除出来なかった時の対処
http://rfs.jp/server/コマンドライン/userdeltec.html


泣きたいとまでは思わなかったけど、これじゃぁPCいじりが趣味の人以外にはお勧めできない…と思いました(普通のデスクトップユーザはそもそもこういうトラブルに巻き込まれることはないだろうけど)。

次に、 lightdm から gdm にしてみました。つか、gdm は入ってなかったからインストール。

■ How do I make GDM the default display manager?
http://askubuntu.com/questions/151334/how-do-i-make-gdm-the-default-display-manager

$ sudo apt-get install gdm

続けて、

$ sudo dpkg-reconfigure gdm

必要な操作(gdm への切り替え)をした後、

$ sudo reboot

あるいは、


■ How do I switch from LightDM to GDM?
http://askubuntu.com/questions/152256/how-do-i-switch-from-lightdm-to-gdm


$ sudo service lightdm stop
$ sudo service gdm start

でもよさそうです。



余談ですが…SSH ではなく「ログイン画面でCtrl+Alt+F1を押して仮想コンソールを起動する」なんて技があったということは、ついさっき知りました。

■ Ubuntu12.04にログインできなくなった時の対処法
http://blog.shironoo.org/2012/05/01/230



で、晴れてログインすると確かにほかのユーザ(存在している俺のアカウント)でログインできるようにはなりましたが、アカウントマネジャをみると「自分のアカウント」の名前が自分のではなくゾンビの名前になっていて、またまたびっくり! 「ロック解除」してそいつを削除しようと思ったけどロック解除のボタンが押せず(てか、それ自分自身だし!)、しかたないからアカウントマネジャを sudo で起動してみたけど、それでもロック解除させてくれないし、ゾンビの影も払拭できない地獄のような状況に陥ってしまいました。


途中、そのゾンビユーザ名の文字列を含んでいるファイルを / から再帰検索して *.conf の類から pico でガッツリ削除したりとかやったんだけど、どうしても「自分のアカウント」の名前がゾンビのまんま。

■ 特定の文字列を含むテキストファイルを検索するLinuxコマンド
http://labo.tsuchinokopro.com/2011/05/630/

$ find ./ -name "*.*" -exec grep -l "検索対象文字列" {} \;

とまぁ、3時間ほどあれこれもがいていたら、取り敢えず lightdm のログイン画面でできないように設定されていた「他のユーザ名も入力できるようにする」というのを enable できることが分かりました。「デフォルトユーザ以外のユーザ名でログインできない」原因は、この設定だったようです。つか、なんでそれがデフォルトになったの??? って感じなんですけど…いつからそんな風でしたっけ???

気を取り直してディスプレイマネジャを lightdm に戻して、試してみました。

■ winbind ユーザも lightdm からログインする
http://d.hatena.ne.jp/dayflower/20120607/1339050566


こちらによると、/etc/lightdm/lightdm.conf を開いて [SeatDefaults] セクションに下記のような設定を付け足すそうであります。

[SeatDefaults]
greeter-show-manual-login=true

それで何とか普通にログインできる状態にまでは回復しました。本当に、救いの神でした。感謝感謝です。

その後、アカウントマネジャで「ロック解除」のボタンが押せるようになっているのを発見し、「自分のアカウント」の名前をゾンビでなく自分自身のユーザ名に変更するところまではできました。でも lightdm のログインでデフォルトユーザを選択してパスワードを入れても「パスワードが一致しない」といわれてログインできません。まぁ、基本的に起動しっぱなしなのだからそう面倒なことではないけれど、気分悪いっつぅか、どのファイルをいじればいいんだろう…って思っちゃいました。

その部分はまだ解決していないのです。

スクリプト類のバックアップ取って、再インストールしようかな…とかまた安易な解決に走ることを考えていたり…。


----
(Jan.23, 2013)

0 件のコメント:

楽天モバイルを台湾で使ってみた

GWに、久しぶりに台湾に赴きました。コロナ禍の間に延命していた台湾大哥大と中華電信の回線のうち中華電信の方を失効させてしまい(なぜ中華電信だけ失効したんだろう)、今回の滞在は台湾大哥大と楽天モバイルの2回線で賄うことにしました。テザリングでAndroidスマホ1台とiPad、Ma...