お知らせ

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

#1 2011-03-16 10:18:08

PerlNinja
新しいメンバ
登録日: 2011-03-16

ターミナルのgnome-terminalについて

ubuntu10.10をつかって
gnome-terminalをつかっているんですが
新しいウインドウを開いてー>cdやlsを使いたいのですが

gnome-terminal --window -e 'ls'

ってやると

子プロセスが終了コード0で成城終了しました。   再起動(R)

ってエラーが出ます

どうすればいいのでしょうか?どうすればエラーがでなくなりますか教えてください

オフライン

 

#2 2011-03-16 12:01:44

のんき
メンバ
登録日: 2007-03-04

Re: ターミナルのgnome-terminalについて

Terminal(端末)操作
UbuntuのDesktop環境においてメニューからアプリケーションを起動することが一般的です。
しかし、LinuxはUNIX互換のOSですので、当然慣れてくるにつれてコマンド操作の比率が増えてきます。
コマンド操作の方が短時間で完了するような作業もたくさんあります。
コマンド操作を行うためにはまず入力する画面を出さなければなりません。
アプリケーションー>アクセサリー>端末とメニューをたどり起動してください。
標準のターミナルウィンドウであるgnome-terminalが起動します。
画面に表示されている'$'横にカーソルが点滅しています。
このカーソルに対して'ls'などのコマンドを入力します。
入力されたコマンドにより処理結果が引き続き画面に表示されます。
端末のクローズは'exit'コマンドにて行えます。
上記内容は一般的な端末の操作です。

gnome-terminal --window -e 'ls'とは
端末処理を逐一人間が対応するのではなく自動的に処理を完結したい場合に用います。
このコマンドの意味は、端末を起動し、lsコマンドを実行して端末を終了することです。

説明が稚拙ですが理解いただけたでしょうか。
解らなければどこが解らないか書いてもう一度質問してください。

オフライン

 

#3 2011-03-16 12:14:01

のんき
メンバ
登録日: 2007-03-04

Re: ターミナルのgnome-terminalについて

すいません#2でぼけた回答をしていますね。失礼しました。

>子プロセスが終了コード0で成城終了しました。   再起動(R)
でもこのメッセージは正常ではないでしょうか。エラーではないです。
'成城終了'が本当に表示されているのならこれはこれで問題ですが・・・
gnome-terminalから'-e'オプションにより子プロセスを起動している訳ですから
lsコマンド処理が終了すれば子プロセスを終了してgnome-terminalに戻ります。
正常終了したわけですから終了コード0を返します。

オフライン

 

#4 2011-03-16 13:49:59

のんき
メンバ
登録日: 2007-03-04

Re: ターミナルのgnome-terminalについて

PerlNinja さんの投稿:
ubuntu10.10をつかって
gnome-terminalをつかっているんですが
新しいウインドウを開いてー>cdやlsを使いたいのですが
どうすればいいのでしょうか?どうすればエラーがでなくなりますか教えてください

新たな端末Windowをあけてcdやlsコマンド入力して複数端末Windowで処理をしたいのであれば
gnome-terminalのみでOKです。

また

端末からアプリケーションを起動しても次の端末コマンドを入力できるようにアプリケーション終了待ちに
ならないようにしたい場合は
アプリケーション名 & 

アプリケーション名のあとに'&'キーを入力することにより可能となります。

端末から端末Windowをアプリケーションのように取り扱う方法として
全然スマートではありませんが一つアップしておきます。

コード:

echo '#!/bin/sh' > tcmd.sh
echo '$1 $2 $3 $4 $5' >> tcmd.sh
echo 'echo "Enterキーを入力してください"' >> tcmd.sh
echo 'read Wait' >> tcmd.sh
sudo chmod +x tcmd.sh
gnome-terminal --window -e './tcmd.sh ls -l /home/ubuntu'

もっとスクリプトに堪能な方のアドバイスをお待ちしております。

オフライン

 

#5 2011-03-16 18:37:34

PerlNinja
新しいメンバ
登録日: 2011-03-16

Re: ターミナルのgnome-terminalについて

のんきさん返事ありがとうございます

子プロセスが終了コード0で成城終了しました。   再起動(R)

ってでます &つけてやると
gnome-terminal --window -e "ls &"

子プロセスが終了コード2で成城終了しました 再起動(R) ってでます

できませでした

ディレクトリの位置とか保存する方法ってありませんか????

オフライン

 

#6 2011-03-16 21:04:01

Tako090929
メンバ
登録日: 2009-09-29

Re: ターミナルのgnome-terminalについて

current working directory は PWD という環境変数に保持されています。

コード:

$ echo $PWD

で表示できます。さらにそれをファイルに保存したいということなら

コード:

$ echo $PWD > tmp.pwd

で tmp.pwd と言うファイルに保存できます。

したいことがはっきりしないのでピンボケの回答だと思いますが。

オフライン

 

#7 2011-03-16 22:43:56

のんき
メンバ
登録日: 2007-03-04

Re: ターミナルのgnome-terminalについて

PerlNinjaさん による投稿:

gnome-terminal --window -e "ls &"
子プロセスが終了コード2で成城終了しました 再起動(R) ってでます
できませでした

PerNinjaさん、私が回答している#2〜#4の内容をご理解いただけたでしょうか。
端末の中から端末を起動す場合は単にgnome-terminalのみ入力してくださいと回答しました。
また、改めて起動する端末にコマンドを付加する場合は#4で記述していますスクリプト(tcmd.sh)
を作成したのち、そのスクリプトの引数に実行したいコマンドを入力して実行してください。
と回答しております。
>子プロセスが終了コード2で成城終了しました 再起動 (R)
子プロセスが正常終了している訳ですから表示されても特に問題はないと思いますが・・・

オフライン

 

#8 2011-03-17 08:31:32

funatogawa
メンバ
From: 関東
登録日: 2009-02-01

Re: ターミナルのgnome-terminalについて

PerlNinja による投稿:

〜略〜
gnome-terminal --window -e 'ls'
ってやると
「子プロセスが終了コード0で成城終了しました。   再起動(R)」
ってエラーが出ます
どうすればいいのでしょうか?
どうすればエラーがでなくなりますか教えてください

同じことをやってみましたが何事もなく終了し、「子プロセスが終了コード0で成城終了しました。   再起動(R)」は表示されませんでした。

で、実際に再起動しなければPCは動きませんか? もし、そうなら、その前にやったことを書いていただくと分かる方がいるかもしれません。
実害がなく、ターミナルをとじることができれば”無視”すれば良いのですが。

オフライン

 

#9 2011-03-17 09:35:07

Catalina
メンバ
登録日: 2009-10-01

Re: ターミナルのgnome-terminalについて

ちょっと整理したいです。

gnome-terminalが1つ開いている状態で、(これをAとします)新たなgnome-terminal(これをBとします)を、
Aにコマンドを入力することによって開き、その際の引数を調整することで、開いたBにlsの結果を表示したい という事なのですかね。

今操作しているterminal(A)ではないterminal(B)にコマンドの結果を表示させたい場合は、AでなくBでそのコマンドを実行すればいいんじゃないかな、と
考えますが、この方法以外で実現したい、ということなのですね?



#誤解があるように思えるので念のために記しておきますと、 コード0で終了 というのは正常終了したという事です。
#従ってエラーではございません。一瞬で処理が終わるため、見えないだけでlsの結果は表示されています。
#これはのんき様の投稿#2に記されている内容と同じです。

オフライン

 

Board footer

Powered by FluxBB