Ubuntu日本語フォーラム
ログインしていません。
gnome-scheduleを以前から利用していましたが、ある時から表題の通りrootで起動したときに限ってtask templatesを作成できなくなりました。gksuコマンドでgnome-scheduleを起動させています。その場合、add templatesのボタンをクリックしてもなにも反応が無く、templateの設定画面に切り替わらず、作成できないといった状態です。
一旦gnome-scheduleを削除・再インストールをして再度試みましたが解決しませんでした。
因みにtask templatesはログインアカウントで起動させた時は問題なく作成できます。
原因に心当たりのある方、解決法のアイデアがある方、ご助言いただきたく思います。
オフライン
端末から起動した場合、Add as templateボタン押下時に、端末に何かメッセージが出ますよね?
端末より
gksu gnome-schedule
を実行。gnome-scheduleがroot権限で起動します。add a new taskボタンよりA task that launches one timeもしくはA task that launches recurrentlyを選択します。その中でtaskの内容を記述した後、 add as templateボタンをクリックします。この時、appウィンドウはtemplate設定pop-upウィンドウは出ません。しかしながら、端末上では
savetemplate
got new id
と表示されます。この時、プロンプトは表示されず、ただカーソルが点滅しているだけの状態になります。この常態を道理かいすべきか、そして、どう対応すべきかが分かりません。savetemplateと表示されているので、templateが保存されたのかとgnome-scheduleウィンドウ内のManage templatesのボタンをクリックしてみたのですが、何の反応もありません。
以上のような状況なのですが、何かお分かりになりますでしょうか?
宜しくお願いします。
オフライン
「gksudo gnome-schedule」で起動すると、エラー時のスタックトレースが端末に表示されないですね。(私の勉強不足で何故表示されないのか分からない。)
とりあえず、
gksudo gnome-terminal
で、root権限で起動した端末内で、
gnome-schedule
して、操作時に何かエラーが端末に出力されていないか、確認してみてください。
早速ご回答頂きまして有り難うございます。ご指南頂いた通りコードを実行し、gnome-scheduleウィンドウ内の操作に移り、add as templateボタンをクリックしたところ、端末上に下記の表示がされました。ご覧頂いて何かお分かりになりましたら、引き続きご助言を頂きたく思います。
savetemplate
got new id
Traceback (most recent call last):
File "/usr/share/gnome-schedule/atEditor.py", line 577, in on_button_template_clicked
self.template.savetemplate_at (0, self.title, self.command, self.output)
File "/usr/share/gnome-schedule/template.py", line 192, in savetemplate_at
self.parent.template_manager.reload_tv ()
File "/usr/share/gnome-schedule/template_manager.py", line 101, in reload_tv
formatted = self.template.format_at (title, command, output)
File "/usr/share/gnome-schedule/template.py", line 200, in format_at
s = (s + " <i>(%s)</i>") % (str (self.parent.output_strings [2]))
ValueError: unsupported format character 'U' (0x55) at index 50
オフライン
これバグですね。こちらでも再現しました。
再現手順:
Add a new taskボタンよりA task that launches one timeを選択。
↓
Task descriptionかTaskにパーセント記号(%)を含めた内容を入力。
↓
"X application"にチェックを入れて、Add as templateボタンをクリックして登録。
↓
Manage templatesボタンを押しても、反応が無くなる。
端末には、
File "/usr/share/gnome-schedule/template.py", line 200, in format_at
s = (s + " <i>(%s)</i>") % (str (self.parent.output_strings [2]))
ValueError: unsupported format character 'XX' (0xYY) at index ZZ
のようなスタックトレースが出力される。(XX,YY,ZZは登録内容によって変わります。)
今回のケースでは、おそらく登録内容のどこかに、%Uという文字が入ってしまっています。
gnome-scheduleはテンプレート情報をgconfに保存しているので、gconf-editorを使って、/apps/gnome-schedule/templates/at 配下の内容の"%U"の"%"をやめれば、直るはずです。
良い忘れました。
今回はrootユーザのgconf情報なので
gksudo gconf-editor
です。
gksudo gconf-editor を実行。
/apps/gnome-schedule/templates/at 配下のフォルダを一つ一つ確認していきました。するとご推察に当てはまるであろうcommand key documentationファイルのvalue内容がありました。該当のcommand valueは下記のようになっていました。
rhythmbox %
まず、この%を削除してから端末より
gksu gnome-schedule 実行
Add a new taskボタンよりA task that launches one timeを選択。
↓
適当にtask scheduleを作成
↓
"X application"にチェックを入れて、Add as templateボタンをクリック。
↓
【ここで変化あり!】これまで無反応だったのですが、今回はcreate a new scheduled taskのウィンドウが閉じました。
↓
Manage templatesボタンをクリックすると、正常にmanage templatesのpop-upウィンドが立ち上がり、これまでに追加してきたtemplateが表示されていました。
◆◇◆ 解決です!有り難うございます。◆◇◆
しかしながら、ここで疑問が残ります。以前、gnome-scheduleが正常に機能していた時、設定時間にsuspendから復帰させ、時間差をつけて設定時間にrhythmboxを起動させて音楽を流そうと試みたことがありました。(音楽を自動で再生させることを考えていたのですが、結果は上手くいかなかったような記憶がありますが…)
今回問題になったcommand value内に入力されていた%ですが、記憶の域を越えませんが、入力した覚えがありません。commandの内容によって勝手に%が生成される事はあり得るのでしょうか?こんかい発見した%は2つあり、当時誤って入力した可能性は低いと思われます。
この件について、何かご存知でしたらご回答頂けたら幸です。
更にもう一つ疑問があります。manage templatesウィンド内のeditボタンに関してです。内容はrecurrent taskのtemplateに関しては反応があり、その内容を再編集できます。しかしながら、one-time taskのtemplateに関しては無反応で再編集ができません。この状態は正常なのでしょうか?
何かご存知でしたら併せてご回答をお願いします。
オフライン