開発言語として、C#を選択し、GUIを作成しようと考えています。
ネットで検索しているとC#は'windows'向けというキーワードがたくさん
みうけられるため、これからお話しする条件を満たすことが出来るのか
知りたくてご質問させていただきたく。
まず画面のレイアウト的な部分は抜きにして、ボタンを押した後の
処理について。
'linux'上であるスクリプトを作成しておき、そのスクリプトが一連の処理を
'linux'上でするとしてます。実行方法として、
スクリプトファイル名 引数1 引数2
である処理が流れるとします。
C#のGUIで、引数1 引数2を入力し、ボタンを押した瞬間に
'linux'のスクリプト処理が始まることを実現したいのですが
できるのでしょうか?
C#はwindows系ということからlinuxに連動させることができるのか
どうも引っかかるのです。
よろしくおねがいいたします。
No.9ベストアンサー
- 回答日時:
私は、以前C#の練習にGUIで動かすチャットをつくったことがあります。
その時はサーバー側にphpでwebapiをつくってそれを
C#側でHTTPリクエストでたたいてサーバー側のスクリプトを実行させてました。
私はPHPでつくりましたが、php側にLINUX上で操作させたいナーバスな処理を書く感じでしょうか。
このやり方が一番シンプルな気がします。
No.8
- 回答日時:
Windows用GUIアプリから、
rsh経由で実行するか、
PuTTYでも入れて、sshで実行したら?
PuTTYでリモートコマンドを実行するには、
予めコマンドを記述したファイルを用意して、
-mオプションで実行
No.7
- 回答日時:
>linuxのスクリプトは別PCではなく、正確に言うとあるサーバ上にあります。
いや、だからWindowsとは別のマシンのlinuxにあるスクリプトってことでしょ。
>「windows(gui)からサーバ上linuxのスクリプトを走らせる方法」 ←これを一番知りたいです。
方法として以下の2種類に大別できるかと思います。
1. あなたがリモートのlinuxでプログラム(スクリプト含む)を動かすときにはどうやってますか?それをWindowsアプリでやらせればいいです。
2. 任意のスクリプトを実行するRPCをlinuxに実装し、Windowsアプリでそれを呼び出す。(webアプリケーションもこの一種)
具体的な実装はがんばって調べてみてください。
No.6
- 回答日時:
C#は必要ありません。
ブラウザで表示させ、実行させたいとの事なので、そのLinuxにApache等のWEBサーバを入れましょう。
そして、ユーザID,パスワードを表示・入力させる為のHTMLをLinux上に作成します。
そのHTMLから、Perl、Ruby等のスクリプト言語を使用してパスワードを変更する為のスクリプトをLinux上に作成します。
そうすれば、各々のPCからアクセスでき、Linuxのパスワードを変更することができます。
・・と書いてきましたが、理解できますでしょうか?
まずは、1つずつ基礎から勉強したほうが良いと思います。
上に書いただけで、
1.Linux
2.Apache
3.HTML
4.PerlもしくはRuby
これらの基礎を覚えなければなりません。
大変ですが、これらの基礎を覚えてしまえば後が楽になりますので、頑張ってみてください。
この回答への補足
ご回答ありがとうございます。
apacheを除くそれらの言語を組み合わせて使うことで今回の課題をクリアできることは、
実は知っています。(業務で他の人が作っているのを知っているため)
今回は無理やりC#でGUIを作り、ボタンイベント処理としてperlスクリプトが走らせたいのです。
別の方の補足でも述べましたが、linuxのperlスクリプトはあるサーバ上にあります。
「windows(gui)からサーバ上linuxのスクリプトを走らせる方法」 ←これを一番知りたいです。
ご教授願います。
No.5
- 回答日時:
>" C#で作成GUIボタンクリック ⇒ linuxのスクリプト起動 " を実現したいのです。
>
>ここまで読んでくださり、「あーそれはC#じゃ無理だよ」と言うのでしたら、逆にどの言語でしたらうまくできますか? JAVAとかですか?
「Windowsで動くアプリケーションからlinuxのスクリプト起動をしたい」ということであればC#でも可能ですけど、それは可能というだけの話です。
肝心のWindowsから別PCのlinuxのスクリプトをどうやって起動するかは考えていますか?
この回答への補足
>肝心のWindowsから別PCのlinuxのスクリプトをどうやって起動するかは考えていますか?
linuxのスクリプトは別PCではなく、正確に言うとあるサーバ上にあります。
「windows(gui)からサーバ上linuxのスクリプトを走らせる方法」 ←これを一番知りたいです。
ご教授願います。
No.4
- 回答日時:
「言語」より前に「仕組み」を考えましょう。
Linuxのパスワードを変更する際、そのパスワードを管理しているのがどこか。によっても変わってきます。
・ローカルで管理→ passwdコマンド相当の処理が必要
・NISで管理→yppasswdコマンド相当の処理が必要
等
GUIをWIndowsで起動するのか、Linuxにログインしてから起動するのか?
処理をWindowsからすべて行うのか、rsh,ssh,telnet等で接続してLinuxで処理するのか。
パスワード変更をAPI等で処理するのか、上記のようなコマンドに任せるのか?任せるならそのやりかたは?
誰が使うのか?自分だけでいいのか、他の人も使うのか。他人が使うなら、その人の技術力は「使うには○○をインストールして」で通じる相手なのか?
等々。
これらから可不可や難易度、優先順位等を決めて、それに合った手法を選びます。
例えば、この程度の処理で、自分だけで使うことを考えたら、 perl,ruby等の言語+TkによるGUIをLinux上で動作、というのが簡単でしょう。
No.3
- 回答日時:
勘違いしている回答があるので,書いておきますが,
Windows向けに特化した記述をしていない限りは,
Linuxにmonoをインストールしておけば,
Windows側で作成した実行ファイルを
Linux側に持って行って,そのまま実行できます.
フォームアプリの場合,デザインとかが,
多少変わって見えたりもしますが.
.NET Framework内で書いたものであれば,だいたい動くでしょうが
厳密に互換性があるわけではないので,
最低限必要な部分だけを作って,
Linux側に移して問題ないか,確認してみればいいと思います.
自分でやった時は,
動かない部分とかもあったので,随時代替処理に置き換えて
検証しながら作りました.
この回答への補足
言い忘れたのですが、私はまだまだSEとして初心者です。
" C#で作成GUIボタンクリック ⇒ linuxのスクリプト起動 "
↑これを実現したい
例をとって説明します。
例:linuxのログインパスワード変更する
1.社内限定(イントラネットと呼ぶのでしょうか?)ブラウザ上でURLに指定のアドレスを入力する
⇒入力インターフェース(いわゆるgui)が現れる
2.引数1(ログインID)と引数2(新パスワード)を入力する欄があって、入力後ボタンクリックする
⇒linuxのアカウントのパスワード変更完了
ものすごい簡単な例です。ユーザは上記のたった"2手順"だけでパスワード変更ができるようにします。
" C#で作成GUIボタンクリック ⇒ linuxのスクリプト起動 " を実現したいのです。
ここまで読んでくださり、「あーそれはC#じゃ無理だよ」と言うのでしたら、逆にどの言語でしたら
うまくできますか? JAVAとかですか?
よろしくおねがいいたします。
No.2
- 回答日時:
できると思います。
C#をLinuxで書くにはmonoという互換OSSプロジェクトのプロダクトを使いますが、これでGUIの開発もできるようです。
http://bitwalk.blogspot.jp/2010/07/mono-gui-1.html
ちなみに、そこからスクリプトの処理を走らせる場合は普通、fork, exec*系のシステムコールでやります。
個人的にはユーザインタフェースをブラウザにしてしまえばスクリプトを改造するだけで済むのにと思ったりしますが...
多くのスクリプト言語にはCGI開発のライブラリーや単独でウェブサーバーになるためのライブラリーなどがすでにあると思いますので。
この回答への補足
> C#をLinuxで書くにはmonoという互換OSSプロジェクトのプロダクトを使いますが、これでGUIの開発 もできるようです。
すみません。いい忘れたのですが、自分自身まだまだSEとして初心者の部類ですのでよくわからないのですが。。
"C#をlinuxで書く" ←いまいち意味がわかりませんが。
私ではないのですが、同じ会社で仕事している他の人の様子を見ていると、C#を使っている人は
visual C#を使ってアプリを作っています。その人達はlinuxは全然使いません。
私はguiを作るための手段でC#を使おうと思っています。
" C#で作成GUIボタンクリック ⇒ linuxのスクリプト起動 "
↑これを実現したい
例をとって説明します。
例:linuxのログインパスワード変更する
1.社内限定(イントラネットと呼ぶのでしょうか?)ブラウザ上でURLに指定のアドレスを入力する
⇒入力インターフェース(いわゆるgui)が現れる
2.引数1(ログインID)と引数2(新パスワード)を入力する欄があって、入力後ボタンクリックする
⇒linuxのアカウントのパスワード変更完了
ものすごい簡単な例です。ユーザは上記のたった"2手順"だけでパスワード変更ができるようにします。
" C#で作成GUIボタンクリック ⇒ linuxのスクリプト起動 " を実現したいのです。
ここまで読んでくださり、「あーそれはC#じゃ無理だよ」と言うのでしたら、逆にどの言語でしたら
うまくできますか? JAVAとかですか?
よろしくおねがいいたします。
No.1
- 回答日時:
何をしたいのですか?
C# は、WindowsPCの上で動くプログラムを作成するための言語です。
Linux上で無理矢理動かすような環境もありますが、あなたには無理でしょう。
Linux上で動くプログラムを作るのであれば、ほかの言語(C# に近いものは Java )を使ってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- PostgreSQL postgreSQLをbashで実行する際に「MORE」表示をなくす方法 1 2023/05/08 21:42
- Excel(エクセル) Indirect関数について、Formulatextで抽出した数式を参照したい。 1 2022/12/15 11:16
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
"JScript"が見つかりません!
-
Net-SNMPのPerlモジュールでTra...
-
powershellで関数名を変更する...
-
UWSCのスクリプトにラグが発生...
-
Excel VBAでリンク切れをチェッ...
-
use lib qw(変数名);は無理?
-
Excel VBA 定義されたプロージ...
-
VBAで旧字体を異字体に一括で変...
-
Excel VBA 『Call』で呼び出す...
-
VBAで別モジュールへの変数の受...
-
ユーザー定義関数に#NAME?が返...
-
例外処理のフローチャートの記...
-
ベースモジュールって?
-
pythonのプログラミングについ...
-
「デバイスは PRN を初期化でき...
-
エラー
-
erf(x)とerfc(x)のカタカナ読み...
-
他Book(シートモジュール)のマ...
-
YAMLについて
-
MySQLとの接続でfetchrow_array...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
"JScript"が見つかりません!
-
Cからシェルを起動し返り値をハ...
-
awkの処理速度を改善したい
-
VBScriptでCurrentDirectoryを...
-
Perlスクリプトで文字化けして...
-
VBSを利用して、IEのタブを自動...
-
シェルでsyntax errorがでてしまう
-
CシェルプログラミングをCygwinで?
-
[ASP]条件によってインクルード...
-
UWSCのスクリプトにラグが発生...
-
pythonスクリプトの停止方法に...
-
VBSで自動ログインについて
-
Perlのライセンス
-
perlスクリプトのブラウザURLか...
-
ADサーバにおけるログインID,PC...
-
TeraTermマクロでの出力キャッチ
-
cygwinでcshが認識されず困って...
-
vbs: オブジェクトがコレクショ...
-
PerlでUNIXのコマンドとパスワ...
-
cronでのPerlスクリプト実行
おすすめ情報