SSH X11 転送で GUI アプリが起動しない
前回の手順で SSH X11 転送環境を組み、xeyes は無事 Windows 側に表示された。ところが nautilus がどうしても起動しない。DISPLAY は通っているのに、なぜこのアプリだけ落ちるのかを切り分けた記録。
前回の手順で SSH X11 転送環境を組み、xeyes は無事 Windows 側に表示された。ところが nautilus がどうしても起動しない。DISPLAY は通っているのに、なぜこのアプリだけ落ちるのかを切り分けた記録。
Fedora 43 Server は、X サーバもデスクトップ環境も入っていなかった。ここから Windows 機に GUI アプリを表示させたい。デスクトップ環境は入れずに、SSH X11 転送でアプリを転送した備忘録。
document.tex(ltjsarticle クラス、LuaTeX-ja 前提)を LuaLaTeX で PDF 化するための環境構築手順をまとめる。Windows + winget を前提とする。
同一 LAN 上の Fedora Server に myhost.local (mDNS) でアクセスしようとしたところ名前解決だけが失敗する現象に遭遇した。tcpdump でパケットを直接観測して切り分けたところ、原因は firewalld が mDNS の着信をブロックしていたことだった。
2026年6月、Microsoftは Coreutils for Windows を正式に公開した。
winget install Microsoft.Coreutils
このコマンドでインストールできる Microsoft.Coreutils は、LinuxやmacOSで日常的に利用される ls、cp、rm、cat などのUNIX系コマンドを、Windows上でネイティブ実行できるようにするMicrosoft公式プロジェクトである。
本記事では、プロジェクトの概要、対応コマンド、制限事項、WSLやPowerShell との違いを整理する。
Microsoft.Coreutilsは、MicrosoftがメンテナンスするWindows向けのコマンドラインツール群である。
内部的には、
をベースに構築されており、Rust で実装されている。
Microsoft はこのプロジェクトの目的を、
Linux、macOS、WSL、コンテナ、Windowsを行き来する開発者の摩擦を減らすこと
と説明。
WinGet から簡単に導入可能である。
winget install Microsoft.Coreutils
WinGetはWindows標準のパッケージマネージャーであり、指定したパッケージを自動的にダウンロード・インストール可能。
インストール後は通常のコマンドとして利用可能。
ls
cat file.txt
grep keyword log.txt
cp source.txt backup.txt
代表的なコマンドは以下の通り。
| 分類 | コマンド例 |
|---|---|
| ファイル一覧 | ls |
| ファイルコピー | cp |
| ファイル移動 | mv |
| ファイル削除 | rm |
| 内容表示 | cat |
| 作業ディレクトリ | pwd |
| ディレクトリ作成 | mkdir |
| スリープ | sleep |
| パイプ処理 | tee |
| 検索 | grep, find |
Linux利用者であれば見慣れたコマンドがそのまま利用可。
ここが最大の注意点!
PowerShell には既に同名のエイリアスや組み込みコマンドが存在する。
例:
| コマンド | 問題 |
|---|---|
| ls | PowerShellエイリアスと衝突 |
| cp | Copy-Itemと衝突 |
| cat | Get-Contentと衝突 |
| rm | Remove-Itemと衝突 |
| pwd | Get-Locationと衝突 |
そのため、
ls
を実行しても、必ずしも Coreutils 版が呼ばれるわけではない。
Microsoft は PowerShell 7.4 以降の利用を推奨している。
Linux 互換を目指しているものの、Windowsの仕組みによる制限が存在する。
Linuxの
kill
SIGTERM
SIGKILL
の仕組みはWindowsに存在しない。
そのため、
kill
timeout
は現時点で提供されない。
Linux:
grep error log.txt > /dev/null
Windows:
grep error log.txt > NUL
となる。
Windows は ACL ベースの権限管理である。
そのため、
chmod
chown
chgrp
などのコマンドは提供されない。
読み取りは可能だが、新規作成には
が必要である。
Microsoft は一部コマンドを意図的に除外している。
よく比較されるのが WSL(Windows Subsystem for Linux)である。
| 項目 | Microsoft.Coreutils | WSL |
|---|---|---|
| 導入コスト | 非常に低い | Linux環境構築が必要 |
| 起動速度 | ネイティブ | 仮想環境層あり |
| Linux互換性 | 一部 | 非常に高い |
| Bash環境 | なし | あり |
| apt利用 | 不可 | 可能 |
| シェルスクリプト互換性 | 限定的 | 高い |
WSL は「Linux 環境そのもの」だが、Coreutils は「Windows 上で Linux 風コマンドを使うためのツール集」である。
「名前付きパイプ」を選択し、パイプ名を「COM1」に設定

sudo nano /etc/default/grub で GRUB の設定ファイルを開き、
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=ttyS0,115200n8"
に変更する。
保存後、
sudo update-grub
で GRUB の設定を適用する。
シリアルポートでログインできるようにサービスを設定する。
sudo systemctl enable serial-getty@ttyS0.service
sudo systemctl start serial-getty@ttyS0.service
管理者権限で起動する

管理者権限で起動する
| Serial line | Speed | Connection type: |
|---|---|---|
| \.\pipe\COM1 | 115200 | Serial |
に設定。


管理者権限で起動する

[System.Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")
[System.Console]::InputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")
plink.exe -serial \\.\pipe\COM1 -sercfg 115200,8,n,1,N
Ctrl + C で終了