docs(skill): note macOS NFD-filename gotcha for dscp/scp
Accented filenames on a macOS host are stored decomposed (NFD), so a precomposed (NFC) remote path in scp/dscp silently fails with 'No such file or directory'. Document the wildcard / list-first workaround in the pi-devbox-environment skill, next to the dssh/dscp alias table. (Hit while copying a screenshot named 'Skärmavbild ….png' from the host.)
This commit is contained in:
@@ -91,6 +91,22 @@ are "command not found" there — you must spell out the underlying command.
|
|||||||
If a command "works in my terminal but not when the agent runs it," this alias
|
If a command "works in my terminal but not when the agent runs it," this alias
|
||||||
gap is the first thing to suspect.
|
gap is the first thing to suspect.
|
||||||
|
|
||||||
|
**`dscp`/`scp` with accented filenames on a macOS host.** macOS stores filenames
|
||||||
|
in Unicode **NFD** (decomposed — e.g. `ä` is `a` + combining U+0308), while the
|
||||||
|
string you type or paste is usually **NFC** (precomposed `ä`, U+00E4). The bytes
|
||||||
|
differ, so a precomposed remote path *silently* fails to match on the host —
|
||||||
|
`scp … "mac:'~/Desktop/Skärmavbild ….png'"` returns *No such file or directory*
|
||||||
|
even though the file plainly exists. Sidestep the encoding entirely: let the
|
||||||
|
**remote shell expand a wildcard**, or list the directory first and copy the
|
||||||
|
exact name it prints.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# glob dodges the NFC/NFD mismatch (the remote shell matches the real bytes):
|
||||||
|
scp -F "$HOME/.ssh-local/config" "mac:~/Desktop/Sk*rmavbild*.png" ./
|
||||||
|
# or read the exact filename first, then copy that:
|
||||||
|
ssh -F "$HOME/.ssh-local/config" mac 'ls -1 ~/Desktop/*.png'
|
||||||
|
```
|
||||||
|
|
||||||
## 3. Reaching the Docker host and its LAN over SSH
|
## 3. Reaching the Docker host and its LAN over SSH
|
||||||
|
|
||||||
When the host is VM-backed (e.g. OrbStack / Docker Desktop on macOS) the
|
When the host is VM-backed (e.g. OrbStack / Docker Desktop on macOS) the
|
||||||
|
|||||||
Reference in New Issue
Block a user