
Ubuntu日本語フォーラム

ログインしていません。
Linux初心者です。
ブートマネージャGRUBを操作して、テキストログインをしたいのですが、やり方がわかりません。
”新Linux/UNIX入門”を読んで勉強中ですが、本の中にはFedoraやTurbolinuxのやり方は載っていましたが、
Ubuntuの場合は勝手が違うようです。
Xwindowでの仮想コンソールなど使わずに純粋にCUIを使用したいのです。
解決策をお願いします。
OS Ubuntu 7.10
Windows XP Sp2
のデュアルブートです。
オフライン
私も最近、この辺のこと調べてみました。
まず、FedoraやTurbolinux等の所謂、RedHat系とDebian系では、ランレベルの番号に違いがあるようです。
また、Ubuntuのランレベル変更は、他のLinuxディストリとは大きく異なるようです。
参照:
http://lab.urume.net/2007,0227,612.html
http://made-in-tomo.jugem.jp/?eid=107
参照ページを見ると、
1:何かパッケージを入れて、設定ファイルを作成する。
2:inittabを作成する
か、しないといけないみたいです。
オフライン
ランレベルを変える必要はありません。
選択肢1:
gdmが表示されている状態で ctrl + alt + F{1,2,3,4...}を押してしまう。
選択肢2:
gdmをそもそも止める。
$ sudo update-rc.d -f gdm remove
オフライン
Siさん、hitoさん、早速の返答ありがとうございます。
報告が遅れてすいません。
なにせLinux初心者なもので、書いてあることを理解するのに、ネットや本みて
調べていたら時間がかかりました。
siさんが教えてくれた参照先はとても参考になりました。
うるめねっと技研 - Linux派 -に書かれているように、Ubuntuには/etc/inittabがないんですよね。
ランレベルの情報を調べようとしたらなくて、別名であるのかと思ったら、そのものが無いなんて。
高速起動処理のためinitの代わりにUpstartとしたてめですか、これ採用しているのUbuntuぐらいみたいなようで。
Linuxの勉強のため、数あるディストリビューションからUbuntuを選んだばっかりに、トホホ。かなり前衛的なようですね。
まぁ、Ubuntuの哲学的な目標に感化されて選んだわけですので後悔はしていませんがね。
さて本題ですが、皆さんが書かれているように/etc/inittabをかくのが本筋(/usr/share/doc/upstart/README.Debian.gz に書いてあるようです、トラックバックで指摘されていた)みたいですけど、まだ誰もしていないようですし、自分にはちょっと難しいのでetc/event.d/rc-defaultでランレベルを変更して起動しました。
下記に教えてくれた参照先を見ながら作業した内容です。
sysv-rc-confを起動してランレベル3のgdmのチェックをはずす、x-serverのチェックもはずすとあるが、なぜかはずれていた。
/etc/event.d/rc-defaultのtelinit 2をtelinit 3に書き換えて
再起動
これで、OKでした。
hitoさんの選択肢1:ですがXWindowが起動しているため、今回の趣旨には合いませんでした。
実はテキストログインしたかったのは、XWindowが邪魔をしてソフトがインストールで出来ないのがあったためです。
そこで、選択肢2ですが、これが一番簡単でした。
結果として
hitoさんの選択肢2:が一番的確で楽でした。
/etc/event.d/rc-defaultの書き換えは、ランレベルの勉強になりました。
皆さんほんとうにありがとうございました。
オフライン
解決したそーだけど … とりあえず
masa4 による投稿:
ランレベルの情報を調べようとしたらなくて、別名であるのかと思ったら、そのものが無いなんて。
RunLevelそのものは普通にあるです。runlevelで現在の番号が分かるです。
でも RedHat系とは割り当てが異なるけど。(変えたことはないけど telinitで変更できるかも)
参考: http://park15.wakwak.com/~unixlife/linux/de-init.html
masa4 による投稿:
高速起動処理のためinitの代わりにUpstartとしたてめですか、これ採用しているのUbuntuぐらいみたいなようで。
高速ブートには他にも種類があって, 他のディストリビューションの場合では好みに応じてそれぞれでインストールすることになるです。
例えば "InitNG" とか。
んで, σ(^^) の場合は, 手っ取り早く X11を立ち上げなくするには /etc/init.d/gdm の名前を変更したりするです。(正式な方法じゃないけど)
… ディスプレイドライバーをインストールするときとか (?)
終わった後に, 元の名前に戻す, と。
オフライン
RxOrcaさん、新たな情報ありがとうございます。
勉強になります。
gdmの名前の変更は良いですね。
本当のところ、
$ sudo update-rc.d -f gdm remove
を実行して作業した後、これどうやって戻るんだ?
コマンド系の参考書は”新Linux/UNIX”しかなく、この本Rad Hat系なんですよ
CUIを主眼に置いたDebian系の書籍が在るといいんですけど見つけきれなくて
ネット上を調べたり、man で調べたりで大変でした。
結局
$ sudo update-rc.d -f gdm defaults
で解決しました。
これであっていると思いますけど。
まだ初心者なもので。
これからたくさんの壁に当たると思いますけど、このフォーラムを活用したいので
皆さんよろしくお願いします。
オフライン
そんな小細工するよりも
最初からサーバー版をXなしでインストールしてやればよいのでは?
一時的にと言うのであれば
Ctrl+Alt+F1でログインしてからX関係をkillしてやればよいかも。
教科書ならトップページの「徹底入門」がありますよ。
最後の編集者: loser (2007-12-31 19:37:44)
オフライン
loserさん、新しい情報ありがとうございます。
サーバー版はまだちょっと自分には無理なような気がします。
loser による投稿:
一時的にと言うのであれば
Ctrl+Alt+F1でログインしてからX関係をkillしてやればよいかも。
これはなんか面白そうですね、今操作の仕方を調べ中ですが、
psコマンドでX関係のプロセスIDを調べて、それをkillすれば良いのでしょうか?
まだまだ初心者ですので。
loser による投稿:
教科書ならトップページの「徹底入門」がありますよ。
この本はもちろん持っていますが、update-rc.dやkillなどのコマンド系の話が載ってないのがつらいです。
まぁネット上で調べれば何とかなるけど、参考書的なものは欲しいですね
オフライン
masa4 による投稿:
サーバー版はまだちょっと自分には無理なような気がします。
X11 (GUI) を使うか使わないかで考えてよいカモ。
GUIに慣れててソレを使いたいのであればデスクトップ版でよいと思うです。
masa4 による投稿:
loser による投稿:
一時的にと言うのであれば
Ctrl+Alt+F1でログインしてからX関係をkillしてやればよいかも。これはなんか面白そうですね、今操作の仕方を調べ中ですが、
psコマンドでX関係のプロセスIDを調べて、それをkillすれば良いのでしょうか?
簡単な方法は次の内どちらか … でしょーか。
sudo invoke-rc.d gdm stop sudo /etc/init.d/gdm stop
前にアレした Webページにも載ってるけど, GUIとコマンドラインログインの切り替えは, RedHat系では RunLevelで行うです。んで Debian系 (Ubuntuも含む) では gdmを停止させることになるです (gdmを使ってる場合)。
(RunLevelの意味付けは固定化されてる訳じゃないので)
X11をちょっとだけ停めるのなら (↑)の方法。
再起動しても止まったまま (しばらく停めたい) なら update-rc.dとかって話になると思うです。
オフライン
RxOrcaさん
またまた新たな情報ありがとうございます。
RxOrca による投稿:
masa4 による投稿:
サーバー版はまだちょっと自分には無理なような気がします。
X11 (GUI) を使うか使わないかで考えてよいカモ。
GUIに慣れててソレを使いたいのであればデスクトップ版でよいと思うです。
そうなんですよ楽しくLinuxを学ぼうとしてGUIからイジクッテいるうちに、色々問題が出てきてコマンド処理する羽目に。
端末で事足りる他と思えば、Xが邪魔なような事になり。
でも、物事を解決していくうちに知識がつくから良いですけどね。
RxOrca による投稿:
簡単な方法は次の内どちらか … でしょーか。
コード:
sudo invoke-rc.d gdm stop sudo /etc/init.d/gdm stop前にアレした Webページにも載ってるけど, GUIとコマンドラインログインの切り替えは, RedHat系では RunLevelで行うです。んで Debian系 (Ubuntuも含む) では gdmを停止させることになるです (gdmを使ってる場合)。
(RunLevelの意味付けは固定化されてる訳じゃないので)
X11をちょっとだけ停めるのなら (↑)の方法。
再起動しても止まったまま (しばらく停めたい) なら update-rc.dとかって話になると思うです。
このやり方が正攻法でやるやり方ですかね、ありがとうございます。
gdmのリネームも良かったけど。
まだまだ勉強せねば。
オフライン
hitoさん
hito による投稿:
選択肢2:
gdmをそもそも止める。
$ sudo update-rc.d -f gdm remove
masa4さん
masa4 による投稿:
本当のところ、
$ sudo update-rc.d -f gdm remove
を実行して作業した後、これどうやって戻るんだ?
・・・途中略します。
結局
$ sudo update-rc.d -f gdm defaults
で解決しました。
古い話を掘り出しますが、ちょっと気になる事があります。
gdmを起動しないようにするのに
$ sudo update-rc.d -f gdm remove
という記述を色んな所でよく見るのですが、本当に良いのかいつも疑問符が頭によぎります。
デフォルトの状態は (Ubuntu Desktopの話)
$ ls -1 rc*.d/*gdm
rc0.d/K01gdm
rc1.d/K01gdm
rc2.d/S30gdm
rc3.d/S30gdm
rc4.d/S30gdm
rc5.d/S30gdm
rc6.d/K01gdm
という状態のはずなので、
$ sudo update-rc.d -f gdm remove
をしてしまうと、
後で元に戻す際に、
$ sudo update-rc.d gdm defaults
では
$ ls -1 rc*.d/*gdm
rc0.d/K20gdm
rc1.d/K20gdm
rc2.d/S20gdm
rc3.d/S20gdm
rc4.d/S20gdm
rc5.d/S20gdm
rc6.d/K20gdm
という状態になり、最初の状態には戻りません。
本来は、
$ sudo update-rc.d gdm start 30 2 3 4 5 . stop 01 0 1 6 .
としなければなりませんよね?
あと、manによると
man update-rc.d(8) による投稿:
Obviously, therefore, the default stop sequence number should be 80.
Defaulting to 20, as update-rc.d does, is an old bug that cannot be fixed because of the risk of breaking things.
ということで「本当はstopの順序は80であるべきなのに、defaultsは20に決め打ちしてて、これは古いバグ(だけどリスクありすぎで直せん)」と怪しい記述があります。
defaultsの扱いについては、どういう見解をもっておけばよいのでしょう。
使わないほうがいいのですよね?
どなたかご存知の方いらっしゃいますか?
最後の編集者: STGSAGWAN (2009-03-10 00:01:52)
STGSAGWAN による投稿:
defaultsの扱いについては、どういう見解をもっておけばよいのでしょう。
使わないほうがいいのですよね?
どなたかご存知の方いらしゃいますか?
べき論で話をすると、そもそもupdate-rc.dをユーザーが打つことそのものが微妙(=使いもしないパッケージをインストールしておくことがおかしい)です。
また、update-rc.dで起動順を制御する場合、本来はパッケージのメンテナが適切な起動順を配置すべきで、defaultで実行することはありえません(が、メンテナがみんなしてdefaultで入れちゃってるので動かせないという話)。
まぁGDMは他のサービスに対して強いdependencyを持っているわけではないので、単にremoveしてdefaultで足しても問題は出ませんので、裏技として機能している、ぐらいの認識が妥当です。
オフライン
参考までに. 8.10 での postinst スクリプト /var/lib/dpkg/info/gdm.postinst で,update-rc.d に関わる部分は
# update-rc.d levels
S=30
K=01
if [ "$1" = "configure" ] && dpkg --compare-versions "$2" lt-nl "2.16.1-1"; then
# since 2.16.1-1, gdm isn't started from S99 anymore
if [ -e /etc/rc2.d/S99gdm ]; then
update-rc.d -f gdm remove >/dev/null
update-rc.d gdm defaults $S $K
fi
elif 以下続く. update-rc.d も何度か出てくるが引数は同じつまり
# update-rc.d gdm defaults 30 01
で,使われてます.
最後の編集者: einundzwanzighundertsechs (2009-03-10 00:14:15)
オフライン
hito による投稿:
べき論で話をすると、そもそもupdate-rc.dをユーザーが打つことそのものが微妙(=使いもしないパッケージをインストールしておくことがおかしい)です。
また、update-rc.dで起動順を制御する場合、本来はパッケージのメンテナが適切な起動順を配置すべきで、defaultで実行することはありえません(が、メンテナがみんなしてdefaultで入れちゃってるので動かせないという話)。
了解しました。
なお、私も基本的にupdate-rc.dは使ってないです。
hito による投稿:
まぁGDMは他のサービスに対して強いdependencyを持っているわけではないので、単にremoveしてdefaultで足しても問題は出ませんので、裏技として機能している、ぐらいの認識が妥当です。
そ、そうなんですか・・・私はてっきり他のサービスとの兼ね合いでgdmが起動する順番は厳密じゃないのかな?と勝手な想像をしていました。
ありがとうございました。
einundzwanzighundertsechs による投稿:
参考までに. 8.10 での postinst スクリプト /var/lib/dpkg/info/gdm.postinst で,update-rc.d に関わる部分は
・・・途中省略しました
つまり
# update-rc.d gdm defaults 30 01
で,使われてます.
einundzwanzighundertsechsさん
実際にファイルを見て確認しました。
参考になりました。
$ update-rc.d gdm defaults 30 01
という簡潔な書き方があるのも初めて知りました。
ありがとうございました。
最後の編集者: STGSAGWAN (2009-03-10 00:55:29)