【未解決】cygwin から、open コマンドで起動したemacsで、M-x shell や 'compile したら、「apply: Spawning child process: invalid argument」がでる件

【未解決】
cygwin から、open コマンドで起動したemacsで、M-x shell や 'compile したら、「apply: Spawning child process: invalid argument」がでる。

普通に起動すると出来る。

なぜだ。

Path の関係かな。

どなたか教えてください。

cygwin が消せない

Lyx を入れようとすると、Cygwin が壊れたので、再インストールを試みた。Cygwin のアンインストールはフォルダの削除ということで、削除を試みるも、Cygwin が消えない。ちなみに以下を試した。

  • フォルダのプロパティ→「セキュリティ」でアクセス権を設定
  • セーフモードでフォルダの削除

これらでは、成功しなかった。


結局以下のページの方法を用いることで無事消すことができた。

T2-Wonderland: 【Windows8】 所有者が違うために消せないフォルダを消す方法(;´∀`)

いかにメモを残す。

1. 所有者をログインユーザーに変更
コマンドプロンプトを管理者権限で以下を実行:

takeown /f c:\cygwin /r

2.ログインユーザーのフルコントロールアクセス権を追加

$ cd c:\cygwin
$ cacls * /T /E /P (ユーザー名):F

(ユーザー名)はご自身のログインユーザー名。


Windows上のユーザー名が分からない場合は、コマンドプロンプトで「whoami」を実行することで確認可能

whoami(PC名)\(ユーザー名)

3. フォルダの削除
以上でフォルダの削除が可能になった。

vim のだめな点。もしくは、emacs が良い点。

vim のだめな点

これらは頑張れば回避できるのかもしれないが、頑張らないといけないのがだめ。

ファイルの改行コードを知る・改行コードを変換する

■ 改行コードを知る。

catコマンド

# 行末(LF)に「$」・表示不可文字(CRなど)を「^M」で表示
cat -e ファイル名

# 行末(LF)に「$」・表示不可文字(CRなど)を「^M」・タブを「^I」で表示
cat -A ファイル名

■改行コードを変換する(nkf
主要なオプションは以下の通り。

  • j(省略可能) : JISコード(ISO-2022-JP)を出力
  • e : EUCコードを出力
  • s : Shift-JISコードを出力
  • w : UTF-8コードを出力(BOM無し)
  • Lu : unix改行形式(LF)に変換
  • Lw : windows改行形式(CRLF)に変換
  • Lm : macintosh改行形式(CR)に変換
  • g(--guess) : 自動判別の結果を表示
    • overwrite : 引数のファイルに直接上書き
    • version : バージョン情報を表示(インストール済チェック)