お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2015-02-18 19:13:32

masatugu111
メンバ
登録日: 2013-12-18

コマンドからGUIを起動したい

Felicaでログインできるようにしてみようと、実験してたのですがうまく行かず、検索しまくって尽きたので投稿させてもらいます。
やりたいことは、
「rootで動くシェルスクリプトからユーザーのGUI(ここだとxfce4)を起動したい」
「ログイン画面を表示している際もバックで動いており、シグナルが来たらログインさせる」
です。
まず、シグナルを受けた時に実行するスクリプトを書いてみました。

コード:

#!/bin/bash
/etc/init.d/lightdm stop
su ユーザー -c"startxfce4"

これだと、一応起動してくるものの、lightdmを殺しているからかシャットダウン等が出来ません。それに、何故かMozcが動かなくなりす。
ちなみに、lightdmを殺しているのは、ログイン画面を表示させているままだとエラーでxfce4が起動しないからです。
これではつかえません。
そこで、dm-toolというコマンドを知ったのですが、CUIから動かすとxdg_seat_pathがどうこう言われてログインできません。
そこで、lightdmを殺さずにGUIログインする方法をご存じないでしょうか?
そうすればMozcやシャットダウンが使えるようになるでしょうか?
ただ、ログイン画面は残したままにしておきたいです。
キーボード入力をシェルスクリプトで再現出来たら出来そうですけど...

オフライン

 

#2 2015-02-19 12:19:22

hito
管理者
登録日: 2007-03-18

Re: コマンドからGUIを起動したい

これ、
 ・lightdmが起動したら問答無用でパスワード入力なしでログインするユーザーを作る(ユーザーアカウントの「自動ログイン」を有効)
 ・そのユーザーのデスクトップはXFce(ユーザーアカウントの設定を変更する前に、ログイン画面でXFceを選択してログインしておく)
 ・シェルスクリプトからはservice lightdm startするだけ。
 ・lightdmの自動起動は切っておく
とかするとお望みの挙動にならないでしょうか……?

というのと、もしかするとそもそものアプローチが間違っているかもしれません。「実際にやりたいこと」は何でしょう? 「Felicaでログインできるようにする」という動作がどのようなものなのか、もう少しだけ説明していただくと他の方法が出てくるように思います。

オフライン

 

#3 2015-02-19 18:43:11

masatugu111
メンバ
登録日: 2013-12-18

Re: コマンドからGUIを起動したい

>hito様
ご返信ありがとうございます。
確かに書くべきことが欠落してました。
Felicaでログインというのも、
http://blog.genkikko.net/2014/04/phpubu … felica.php
この記事のPHPのスクリプトより前の部分(felica_dump等)を使って固有IDの識別ができるならrc.localでシェルスクリプトを&付きで実行して、そのカードが読み取られたらxfce4を起動させるスクリプトを実行させるようにして、ThinkPadの指紋認証のような動作をしたかったのです。
ログイン画面を残したいと言ったのも、Felicaとパスワードのログインを両立させてどっちでもログインできるようにしようと思ったからです。
指摘していただいた中の「・lightdmの自動起動は切っておく」をしてしまうと、グラフィカルなログイン画面が表示されなくなると思うのですが、どうなのでしょうか?
やはり難しいのでしょうか...

オフライン

 

Board footer

Powered by FluxBB