Puncte:1

Cum să sincronizez Ubuntu WSL și MINGW directorul principal pentru mine

drapel in

Așa că sunt obișnuit să folosesc Git pentru Windows mingw și să am cheile ssh setate acolo.

A adoptat recent Ubuntu 18 pe WSL (subsistemul Windows pentru Linux) și a realizat că folderul de acasă din Ubuntu este diferit de folderul de acasă pentru MinGW

MinGW folosește folderul meu principal de Windows (de obicei C:\Users\eric), iar folderul ssh se află în C:\Users\eric.ssh

Ubuntu WSL folosește un folder diferit pentru /home/eric și .ssh-ul meu din Ubuntu nu este în mod clar același folder.

Știind că Windows procesează editarea folderului de acasă pentru fișierele expuse în WSL nu este acceptată în acest moment (probleme de sincronizare a metadatelor VolFS, căutați-l pe google), totuși, ar fi bine să păstrez cel puțin folderul meu .ssh sincronizat.

Care ar fi modalitatea corectă de a face asta?

Nu văd cum montează MinGW folderul de acasă și nu văd cum să muți referința la folderul de acasă al Ubuntu (sau cel puțin folderul .ssh) în C:\Users\eric.ssh

Puncte:1
drapel vn

Știind că Windows procesează editarea folderului de start pentru fișierele expuse în WSL nu este acceptată în acest moment (probleme de sincronizare a metadatelor VolFS, căutați-l pe google)

Daca te referi la această problemă sau un derivat al acestuia, apoi rețineți că problema a fost rezolvată cu mult timp în urmă (după cum se menționează în acea postare pe blogul Microsoft) odată cu crearea unei metode de acces DrvFs pentru WSL. Din Git Bash, veți folosi:

cd //wsl\$/Ubuntu-18.04
# Înlocuiți numele de distribuție corect dacă este necesar

Cu siguranță nu recomand să „muți” niciun folder de acasă (adică încercarea de a utiliza folderul oricărui sistem ca acasă al celuilalt), personal. Este posibil să vă confruntați cu probleme de permisiune/proprietate, diferite UID/GID-uri etc. „Sincronizarea” celor două ar fi o strategie mult mai bună, IMHO.

Cu toate acestea, această întrebare a apărut în trecut și recomandarea generală este să utilizați un depozit git pentru stocarea/sincronizarea fișierelor de configurare partajate între „gazde” (WSL/Ubuntu și Git Bash în acest caz). Există o serie de utilități concepute pentru a face acest lucru mai ușor, cu o listă frumoasă Aici. Personal nu am folosit niciunul dintre ele, dar am citit lucruri bune despre GNU Stow.

Notă: Din profilul dvs., se pare că aveți mult mai multă experiență în git decât mine, dar mi se pare că (dacă doriți) puteți crea un cârlig, astfel încât de fiecare dată când apăsați o modificare în depozitul de configurare pe Git Bash partea, automat ar rula ceva de genul:

wsl -e sh -c "git --git-dir=$HOME/.dotfiles pull

Aceasta folosește wsl comandă în Windows pentru a apela o comandă în instanța Ubuntu. Totuși, veți avea nevoie de o modalitate de a rula hook-ul numai atunci când ați comis din Git Bash. Sau ați putea să-l scrieți astfel încât să sune git în Git Bash dacă commit-ul a fost făcut în WSL/Ubuntu și invers.

Sau ar putea fi exagerat de arhitectură ;-)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.