web-dev-qa-db-ja.com

WindowsのEmacsのターミナル-エラーメッセージ:「子プロセスの生成;引数が無効です」

WindowsのEmacs23.2(最新バージョン)でcmdターミナルを起動しようとしています。

Manual によると、M-x termと入力すると、Emacsでターミナルモード(ターミナルの新しいバッファーを開始)に入ることができます。

これを行うと、次のプロンプトが表示されます。

Run program: path_to-emacs/bin/cmdproxy.exe

RETと入力すると、ミニバッファに次のエラーメッセージが表示されます。

Spaning child process: invalid argument

それを機能させる方法はありますか?

ありがとう、

36

次のことを行う必要があります。

  • M-:(make-comint-in-buffer "cmd" nil "cmd" nil)

  • M-xeshell

  • M-xシェル

すべてに長所と短所の両方があります。だからあなたに最も合うものを選んでください。

8

M-x compileを実行しようとしたときに同じエラーが発生しました。 .emacsファイルに以下を追加したところ、問題が修正されました。

;; Make sure that the bash executable can be found
(setq explicit-Shell-file-name "C:/cygwin/bin/bash.exe")
(setq Shell-file-name explicit-Shell-file-name)
(add-to-list 'exec-path "C:/cygwin/bin")

明らかに、このソリューションはCygwinがインストールされている場合にのみ機能しますが、WindowsでEmacsを実行している場合、多くのEmacsコマンドはcygwin(M-x compile 私の場合)。

6
nispio

同じ問題がありました。

私はprocmonを実行し、Emacsが何らかの形式(c:\bin\shsh.exesh.batなど)でsh.cmdを見つけたいと思っていることを発見しました。
たまたまAndroidデバッグシェル)で用語モードを使用したかったので、コンテンツ「adbShell」でc:\bin\sh.batを作成しましたが、正常に動作しました。いくつかの奇妙な入力ラグ。

3
Dave

Cmd.exeでtermまたはansi-termを使用する場合、またはWin32Emacsを使用するWindowsでCygwinbashを使用する場合は、次のプロジェクトを参照してください。

fakecygpty

Win10では非常にうまく機能します。

3
Benji L.

代わりにM-x cmd-Shellを試してください。最良の結果を得るには、 EmacsW32 を使用することをお勧めします。

2
ismail