2016-07-29 4 views
0

私は生徒のC++コードのプレゼンテーション用のシェルスクリプトを作成しています。スクリプトのソースコードを自動的に開き、それをモニタの右半分に配置したいのですが、左半分はコードです端末で実行される。私は簡単に2つのウィンドウを開くことができますが、移動方法についてはわかりません。2つのウィンドウを自動的に開いて移動するには、Linuxでコードを書くにはどうしたらいいですか?

ありがとうございました!たぶん

+1

をparamsは修正できますか? –

+0

申し訳ありませんプログラムは、ラズベリーパイのraspbian上で実行されています –

+0

あなたはまだいくつかのデスクトップ環境を持っていますか、X11ウィンドウをリモートでいくつかのX11サーバー上に表示しています。だから私の質問は残る。あなたがそれに精通していないなら、[X Window System](https://en.wikipedia.org/wiki/X_Window_System)の詳細を読んでください。 –

答えて

2

、このヘルプあなた、以下のように

#!/bin/bash 
gnome-terminal --geometry 100x50+0+0 -x sh -c 'cat "$1"; bash' _ "[email protected]" 
dirname=$(dirname "$1") 
/usr/bin/g++ "$1" -o output 
gnome-terminal --geometry 100x50+1000+0 -x sh -c '"$1/output"; bash' _ "$dirname" 

実行コード。

./runCode.sh /tmp/test/helloword.c 

また--geometryは、使用しているデスクトップやウィンドウマネージャ

+1

引用を改善することを検討してください。 'sh -c 'cat" $ 1 ";例えば、$ bash '_ "$ @" 'は、ファイル名が' $ 1'として渡された場合、 '$(rm -rf $ HOME)'のようなシェルインジェクションの脆弱性がない最初の行を置き換えるものですリテラル部分文字列として使用します。 –

+0

同様に、 'g ++" $ 1 "-o output'、そして' sh -c "" $ 1/output "です。 bash '_ "$ dirname" ' –

+0

...これらの' exec bash -i'または同様のものを作ることもできます。最初に子として生成された '/ bin/sh'のコピーを' gnome-ターミナル "の周りにメモリ。 –

関連する問題