終了時にCDを取り出す

終了時にCDを取り出す

いいですね。簡単な質問があります。 Live CDがあり、コンピュータが再起動または停止したときにCDを取り出したいです。

実行後、CDがよく出ます/usr/bin/eject -m。問題は、予想されるように、ファイルが読み取れないためにOSがクラッシュすることです。したがって、/sbin/rebootアクセスできないため、再起動は発生しません。 (再起動する前に試しreboot --help > /dev/nullたがまだ読み取れない他のファイルがあります...)

とにかくポップアップを作成する必要があるようです。最後の一つそんなことが起こります。これは私が遊ぶべき子犬のようですsystemd...無駄なことが確実です。時間私は生涯にわたってそれを突き刺すのに送りました。理由はわかりません。私はそれを呼ばれるさまざまな方法を試しましたが、eject何も起こりませんでした。

最も簡単な走り方を教えてくれる人はいますかeject? (umount.target後でやってみるといいと思います…)

答え1

結局のところ、私の同僚は次の記事を見つけました。

http://lists.freedesktop.org/archives/systemd-devel/2012-September/006573.html

/lib/systemd/system/eject.serviceとにかく、私は以下を含むファイルを作成しました。

[Unit]
Description=Eject the DVD
Before=final.target
After=shutdown.target
DefaultDependencies=no

[Service]
Type=oneshot
ExecStart=/usr/bin/eject -m
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit

[Install]
WantedBy=shutdown.target

systemctl enable eject.serviceそのためにはまだ走らなければなりません。する何もない。しかし今、systemd私が望んでいたように、シャットダウン前にCDが排出されます。

...残念ながら、オペレーティングシステムが取り出したCDの残りのファイルが見つからない場合は、セグフォルトが発生します。上記のファイルを調整してみましたAfter=unmount.targetあなたは考えるでしょうファイルシステムをアンマウントしてスクリプトを実行します。しかし、いいえ、まだセグフォルトです。

起動時にLive CDイメージをRAMにコピーする方法を理解する必要があるようです。しかし、これはまったく異なる質問です...

答え2

次のことが役に立ちます。

  • /etc/init.d/halt.localにポップアップコマンドを追加する

  • また、/etc/init.d/sculpture テンプレートを表示してカスタマイズして、システムのシャットダウン、任意のキーを押して CDROM の取り出しなどのいくつかの出力を追加することもできます。

  • 実行レベルディレクトリ/etc/rc0.dにリンクされている/etc/init.dでスクリプトを表示します(一時停止)。

答え3

Ubuntuを使用できますeject -m; reboot -f

答え4

実行権限を持つEject.shutdownというファイルを生成します。/usr/lib/systemd/システム終了/

#!/bin/sh
/usr/bin/eject -T

源泉:システム終了ロジック

また見なさい:終了する前にCDを取り出す

関連情報