Próbuję bezpiecznie zaktualizować katalog domowy, jak określono w /etc/passwd, ale standardowe narzędzia Linuksa - usermod i vipw - do tego nie są dostarczane przez Cygwin.
Czy ktoś mógłby mi powiedzieć, jak zmienili to w Cygwin?
EDYCJA: W przypadku najnowszych wersji Cygwin (1.7.34 i nowszych) zobacz to nowsze pytanie .
Podobnie jak w przypadku odpowiedzi Sblundy'ego, zawsze możesz edytować ręcznie.
Ale jeśli chcesz to zrobić w "oficjalny" sposób, użyj mkpasswdpolecenia specyficznego dla cygwin . Poniżej znajduje się fragment oficjalnej dokumentacji na temat mkpasswd:
Na przykład to polecenie:
Przykład 3.11. Korzystanie z alternatywnego katalogu głównego
$ mkpasswd -l -p "$(cygpath -H)" > /etc/passwd
umieści katalogi domowe użytkowników lokalnych w katalogu „Profile” systemu Windows.
Istnieje wiele innych naprawdę przydatnych poleceń opisanych na stronie dokumentacji Cygwin Utilities (która obejmuje mkpasswd). Użycie cygpathw powyższym przykładzie jest kolejnym z tych narzędzi specyficznych dla cygwin.
Jeśli jesteś w domenie, możesz rozważyć to alternatywne polecenie: ( -ddla domeny) $ mkpasswd -l -d -p "$(cygpath -H)" > /etc/passwd To nie zadziałało dla mnie - w zasadzie zawiesiło się. Ponieważ jestem jedynym, za pomocą tego urządzenia, mogę skorzystać z tej alternatywy, które powinny być bezpieczne, czy nie jesteś w domenie (the -cto za „bieżącego użytkownika) $ mkpasswd -l -c -p "$(cygpath -H)" > /etc/passwd
Ryan Pavlik
1
Po wykonaniu tej czynności plik .bashrc nie wydaje się być czytany, nawet jeśli skopiuję go do nowego $HOME. Jakiś pomysł jak to naprawić?
Jeff
1
Dane wyjściowe należy dołączyć (>>) do / etc / passwd (dla scenariuszy korporacyjnych z kilkoma użytkownikami). To zadziałało! :)
Andre
1
użyj uname -r, aby zobaczyć, na której wersji cygwin jesteś
martin jakubik
19
Skończyło się na tym, że opuściłem wszystkie moje powłoki Cygwin i edytowałem je ręcznie w edytorze tekstu. Jak na razie dobrze.
Uwaga: nie zmieniaj znaczenia spacji w katalogu „Documents and Settings”. Wpis będzie wyglądał
user:...:/cygdrive/c/Documents and Settings/user:/bin/bash
Działa to również w przypadku ścieżek UNC, dzięki był
zastępowany
Co muszę edytować ręcznie? Nie wiem, dlaczego mój katalog domowy cygwin to /cygdrive/c/Users/JoseAngel/AppData/Roaming/SPB_16.6 Chcę, aby był to C: / Users / MyName /
16
Najprostszą odpowiedzią, jaką znalazłem, jest utworzenie / home jako miękkiego łącza do katalogu Home / UserProfile systemu Windows
cd /
mv home oldhome
ln -s "$(cygpath -H)" home
Użyłem cygpath, ponieważ uzyska prawidłową lokalizację katalogu HOME w bieżącej wersji systemu Windows. Na moim pudełku cygpath -Hwraca/cygdrive/c/Users
Po zrobieniu tego przez jakiś czas jest jedna wada: muszę go uruchamiać za każdym razem, gdy aktualizuję cygwin za pomocą ich setup.exe. Nic wielkiego, ale coś do zapamiętania.
M Smith
To najlepsza odpowiedź. Zastanawiam się, dlaczego cygwin nie jest domyślnie cygwin -Hustawiony. Jest to najrozsądniejsza lokalizacja, a ponieważ Windows 7 nie ma też miejsca na jego drodze.
kreska
z drugiej strony, to nie zadziała. Nagle postanowił zignorować dowiązanie symboliczne!
dashesy
Musisz go ponownie zastosować po ponownym uruchomieniu instalacji. To jedyny raz, kiedy mi się nie udało. Nie próbowałem jeszcze tego
M Smith
Działa zgodnie z oczekiwaniami w systemie Windows 10. Nadal muszę ponownie aplikować za każdym razem, gdy aktualizuję cygwin.
M Smith
8
Dla obecnego użytkownika działały dla mnie:
Zamknij Cygwin.
Ustaw zmienną środowiskową użytkownika HOME Windows.
Potwierdziłem, że zadziałało, uruchamiając ssh-keygen bez żadnych argumentów. Po wprowadzeniu tej zmiany aplikacja domyślnie zapisuje klucz w / cygdrive / c / Users / user zamiast / home / user.
Nie wiem, czy ustawienie HOME jest wymagane, ale i tak zrobiłem to zgodnie z instrukcjami konfiguracji TortoiseGit z Cygwin, używając oficjalnej dokumentacji Tortoise dla nieoficjalnego wsparcia Cygwin tutaj . Ustawienie samego HOME nie wystarczyło, aby ssh-keygen rozpoznał zmianę katalogu domowego.
Zwróć również uwagę, że oficjalną dokumentację Cygwin dotyczącą tego problemu można znaleźć tutaj .
Potwierdzone w Windows 7 przy użyciu 64-bitowego Cygwin v1.7.35.
Aby uniknąć problemów spowodowanych spacjami w ścieżce do katalogu domowego, użyj skróconej formy katalogu „Profile” systemu Windows - tj /cygdrive/c/DOCUME~1/user.
Dla tych, którzy używają Cygwin 1.7.34 lub nowszego Cygwin obsługuje konfigurację sposobu pobierania katalogu domowego, powłoki logowania i informacji o gecos w plikach/etc/nsswitch.conf . Jest to szczegółowo opisane w sekcji Podręcznik użytkownika Cygwin:
Jeśli wcześniej utworzyłeś plik /etc/passwd/etc/group plik lub , będziesz chciał je usunąć i skonfigurować Cygwin przy użyciu nowego modelu Windows Security do mapowań POSIX.
/etc/nsswitch.confPlik jestdb_home: definiuje sposób, w jaki Cygwin pobiera katalog domowy użytkownika. Domyślne ustawienie db_home:to
db_home: /home/%U
Więc domyślnie Cygwin po prostu ustawia katalog domowy na /home/$USERNAME. Możesz to jednak zmienić, aby wskazywać dowolną inną ścieżkę niestandardową. Obsługiwane symbole wieloznaczne to:
%u Nazwa użytkownika Cygwin (to małe litery u).
%U Nazwa użytkownika Windows (to wielkie litery U).
%D Domena Windows w stylu NetBIOS.
%HKatalog domowy Windows w stylu POSIX. Zwróć uwagę, że w przypadku db_home:ustawienia ma to sens tylko zaraz po poprzedzającym go ukośniku, jak wdb_home: /%H/cygwin
%_ Ponieważ do oddzielania schematów używane są znaki spacji i TAB, w nazwie pliku należy podać spację jako %_ (to jest podkreślenie).
%% Znak procentu.
Zamiast ścieżki można określić jeden z czterech wstępnie zdefiniowanych nazwanych schematów ścieżek.
windowsKatalog domowy użytkownika jest ustawiony na ten sam katalog, który jest używany jako katalog domowy systemu Windows, zwykle coś podobnego do %USERPROFILE%lub C:\Users\$USERNAME. Oczywiście katalog Windows jest konwertowany na styl POSIX przez Cygwin.
cygwinTylko AD: Katalog domowy użytkownika jest ustawiony na ścieżkę POSIX podaną w atrybucie cygwinHome z klasy pomocniczej cygwinUser. Zobacz także sekcję „Schemat Cygwin” .
unixTylko AD: Katalog domowy użytkownika jest ustawiony na ścieżkę POSIX podaną w atrybucie unixHomeDirectory z klasy pomocniczej posixAccount. Zobacz także sekcję „Schemat unixa” .
descKatalog domowy użytkownika jest ustawiony na ścieżkę POSIX podaną w ustawieniu home = "..." podobnym do XML w atrybucie opisu użytkownika w SAM lub AD. Szczegółowy opis znajduje się w sekcji „Schemat opisu”.
Poniższe sprawi, że katalog domowy użytkownika w Cygwin będzie taki sam, jak jest używany w katalogu domowym Windows.
db_home: windows
Cygwin 1.7.33 lub starszy
Dla tych, którzy używają Cygwin 1.7.33 lub wcześniejszej, zaktualizuj do najnowszej wersji Cygwin i usuń wcześniej używane pliki /etc/passwdi /etc/group, a następnie zobacz powyższe kroki.
W przeciwnym razie wykonaj te starsze kroki poniżej.
Po pierwsze, ustaw zmienną środowiskową Windows dla HOME, która wskazuje na Twój profil użytkownika:
Otwórz System w Panelu sterowania
Na karcie Zaawansowane kliknij Zmienne środowiskowe (u dołu)
W obszarze Zmienne użytkownika kliknij „Nowy…”
W polu Nazwa zmiennej wprowadź HOME
W polu Wartość zmiennej wprowadź %USERPROFILE%
Kliknij OK we wszystkich otwartych oknach dialogowych, aby zastosować to nowe ustawienie
Teraz zaktualizujemy /etc/passwdplik Cygwin za pomocą %HOME%właśnie utworzonej zmiennej Windows . Loginy powłoki i logowanie zdalne za pośrednictwem sshbędą polegały na /etc/passwdinformowaniu ich o lokalizacji $HOMEścieżki użytkownika .
-dPrzełącznik nakazuje mkpasswd obejmować użytkowników domeny, natomiast-l jest jedynie wyjściowych użytkowników maszyn lokalnych. Jest to ważne, jeśli używasz komputera w pracy, na którym informacje o użytkowniku są pobierane z kontrolera domeny systemu Windows.
Teraz możesz zrobić to samo dla grup, chociaż nie jest to konieczne, chyba że będziesz używać komputera, który jest częścią domeny Windows. Cygwin odczytuje informacje o grupie z baz danych kont Windows, ale możesz dodać /etc/groupplik, jeśli twój komputer jest często odłączony od kontrolera domeny.
Teraz wyjdź z Cygwin i uruchom go ponownie. Powinieneś zauważyć, że twoja ścieżka HOME wskazuje tę samą lokalizację, co twój profil użytkownika Windows - tj/cygdrive/c/Users/username
Ponieważ ścieżki podążają za predefiniowanym schematem z najnowszym Cygwinem zamiast "przenosić" katalog domowy, polecam użycie dowiązań symbolicznych (w tym natywnych Windows) do określonych katalogów z HOMEkatalogu.
gavenkoa
2
Lubię, gdy moja instalacja cygwin jest zsynchronizowana z pendrive i innym komputerem, więc nienawidzę twardego kodowania katalogu domowego. Używam następującego cygwin.bat:
echo off
SETLOCAL
set SHELL=\\bin\\bash
set HOME=%~dp0..\..\doc\unix
bin\bash --login -i
ENDLOCAL
SETLOCAL i ENDLOCAL zapewniają, że SHELL i HOME nie blokują istniejących zmiennych env dla innych programów. HOME=%~dp0..\..\doc\unixustawia HOME na dwa katalogi wyżej, w podkatalogu doc / unix. Następnie w .... \ doc \ unix.bashrc dołączam PATH="/bin:/usr/local/bin:/usr/X11R6/bin:/usr/bin". Nie start /wait %CD%\bin\bashuruchamiałem basha, ponieważ używam Console2 , więc nie potrzebuję dodatkowego okna cmd.
Korzystanie ze zmiennej środowiskowej systemu Windows: HOME
To działa dla mnie w przypadku stałego, nieprzenośnego, niesieciowego rozwiązania; tj. ustawienie zmiennej środowiskowej HOME na stałe w systemie Windows.
Zauważ, że nie ma to wpływu na sesje ssh lub telnet , które zawsze odwołują się do / etc / passwd
Dla bieżącego użytkownika (należy uruchomić raz na użytkownika):
reg add HKCU\Environment /v HOME /t REG_EXPAND_SZ /d ^%USERPROFILE^%
Dla nowych użytkowników:
reg add HKU\.DEFAULT\Environment /v HOME /t REG_EXPAND_SZ /d ^%USERPROFILE^%
Uwaga: Carets ^ przed znakami procentu%
IMPORTUJ PLIK REG
Importuj ten plik reg ( bieżący użytkownik):
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Environment]
"HOME"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
00,45,00,25,00,00,00
Dla nowych użytkowników:
Windows Registry Editor Version 5.00
[HKU\.DEFAULT\Environment]
"HOME"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,4c,\
00,45,00,25,00,00,00
REGEDIT
W Regedit pod:
Dla aktualnego użytkownika:
HKEY_CURRENT_USER\Environment
Dla nowych użytkowników:
HKU\.DEFAULT\Environment
Utwórz HOME jako nową rozszerzalną wartość ciągu (* REG_EXPAND_SZ *) i wstaw % USERPROFILE%
Niezależnie od informacji, na których opierała się ta odpowiedź, nie są one już aktualne. Ref: łącze jest również uszkodzony. Nie próbowałbym tego w domu.
Christopher
1
cd /home
rm -rf chris
ln -s /cygdrive/z chris
Nie jestem pewien, czy jest to najbezpieczniejsze rozwiązanie, ale jest to możliwe rozwiązanie, które działa dla mnie;)
Edytowałem mój plik / etc / passwd bezpośrednio (upewniając się, że nic innego nie będzie do niego dostęp) i zmieniłem wszystkie odniesienia do / home na / Users (w Windows 7). Okazało się, że aby wszystko działało poprawnie, musiałem usunąć wszelkie katalogi w katalogu / home (lub przenieść je w odpowiednie inne miejsce). W przeciwnym razie cygwin rozwinąłby rozdwojoną osobowość, w której, na przykład, „bash -l” zaczynałoby się w / home / Pablo, ale $ HOME byłoby / Users / Pablo, a emacs wyglądałby na odwrotnie. Po usunięciu / home / Pablo wszystko działało dobrze.
Odpowiedzi:
EDYCJA: W przypadku najnowszych wersji Cygwin (1.7.34 i nowszych) zobacz to nowsze pytanie .
Podobnie jak w przypadku odpowiedzi Sblundy'ego, zawsze możesz edytować ręcznie.
Ale jeśli chcesz to zrobić w "oficjalny" sposób, użyj
mkpasswd
polecenia specyficznego dla cygwin . Poniżej znajduje się fragment oficjalnej dokumentacji na tematmkpasswd
:Istnieje wiele innych naprawdę przydatnych poleceń opisanych na stronie dokumentacji Cygwin Utilities (która obejmuje
mkpasswd
). Użyciecygpath
w powyższym przykładzie jest kolejnym z tych narzędzi specyficznych dla cygwin.Skoro już to robisz, prawdopodobnie zechcesz również przeczytać dokumentację Używanie Cygwin skutecznie z systemem Windows . Jest kilka naprawdę dobrych rad.
źródło
-d
dla domeny)$ mkpasswd -l -d -p "$(cygpath -H)" > /etc/passwd
To nie zadziałało dla mnie - w zasadzie zawiesiło się. Ponieważ jestem jedynym, za pomocą tego urządzenia, mogę skorzystać z tej alternatywy, które powinny być bezpieczne, czy nie jesteś w domenie (the-c
to za „bieżącego użytkownika)$ mkpasswd -l -c -p "$(cygpath -H)" > /etc/passwd
$HOME
. Jakiś pomysł jak to naprawić?Skończyło się na tym, że opuściłem wszystkie moje powłoki Cygwin i edytowałem je ręcznie w edytorze tekstu. Jak na razie dobrze.
Uwaga: nie zmieniaj znaczenia spacji w katalogu „Documents and Settings”. Wpis będzie wyglądał
Linia jest tokenizowana na
:
znaku.źródło
Najprostszą odpowiedzią, jaką znalazłem, jest utworzenie / home jako miękkiego łącza do katalogu Home / UserProfile systemu Windows
Użyłem cygpath, ponieważ uzyska prawidłową lokalizację katalogu HOME w bieżącej wersji systemu Windows. Na moim pudełku
cygpath -H
wraca/cygdrive/c/Users
źródło
cygwin -H
ustawiony. Jest to najrozsądniejsza lokalizacja, a ponieważ Windows 7 nie ma też miejsca na jego drodze.Dla obecnego użytkownika działały dla mnie:
Potwierdziłem, że zadziałało, uruchamiając ssh-keygen bez żadnych argumentów. Po wprowadzeniu tej zmiany aplikacja domyślnie zapisuje klucz w / cygdrive / c / Users / user zamiast / home / user.
Nie wiem, czy ustawienie HOME jest wymagane, ale i tak zrobiłem to zgodnie z instrukcjami konfiguracji TortoiseGit z Cygwin, używając oficjalnej dokumentacji Tortoise dla nieoficjalnego wsparcia Cygwin tutaj . Ustawienie samego HOME nie wystarczyło, aby ssh-keygen rozpoznał zmianę katalogu domowego.
Zwróć również uwagę, że oficjalną dokumentację Cygwin dotyczącą tego problemu można znaleźć tutaj .
Potwierdzone w Windows 7 przy użyciu 64-bitowego Cygwin v1.7.35.
źródło
Zawsze ustawiam HOME jako zmienną środowiskową specyficzną dla użytkownika we Właściwościach komputera.
źródło
Aby uniknąć problemów spowodowanych spacjami w ścieżce do katalogu domowego, użyj skróconej formy katalogu „Profile” systemu Windows - tj
/cygdrive/c/DOCUME~1/user
.Możesz to zrobić wpisując polecenie:
mkpasswd -l -p "$(cygpath $(cygpath -dH))" > /etc/passwd
źródło
Cygwin 1.7.34+
Dla tych, którzy używają Cygwin 1.7.34 lub nowszego Cygwin obsługuje konfigurację sposobu pobierania katalogu domowego, powłoki logowania i informacji o gecos w plikach
/etc/nsswitch.conf
. Jest to szczegółowo opisane w sekcji Podręcznik użytkownika Cygwin:Jeśli wcześniej utworzyłeś plik
/etc/passwd
/etc/group
plik lub , będziesz chciał je usunąć i skonfigurować Cygwin przy użyciu nowego modelu Windows Security do mapowań POSIX./etc/nsswitch.conf
Plik jestdb_home:
definiuje sposób, w jaki Cygwin pobiera katalog domowy użytkownika. Domyślne ustawieniedb_home:
toWięc domyślnie Cygwin po prostu ustawia katalog domowy na
/home/$USERNAME
. Możesz to jednak zmienić, aby wskazywać dowolną inną ścieżkę niestandardową. Obsługiwane symbole wieloznaczne to:%u
Nazwa użytkownika Cygwin (to małe litery u).%U
Nazwa użytkownika Windows (to wielkie litery U).%D
Domena Windows w stylu NetBIOS.%H
Katalog domowy Windows w stylu POSIX. Zwróć uwagę, że w przypadkudb_home:
ustawienia ma to sens tylko zaraz po poprzedzającym go ukośniku, jak wdb_home: /%H/cygwin
%_
Ponieważ do oddzielania schematów używane są znaki spacji i TAB, w nazwie pliku należy podać spację jako%_
(to jest podkreślenie).%%
Znak procentu.Zamiast ścieżki można określić jeden z czterech wstępnie zdefiniowanych nazwanych schematów ścieżek.
windows
Katalog domowy użytkownika jest ustawiony na ten sam katalog, który jest używany jako katalog domowy systemu Windows, zwykle coś podobnego do%USERPROFILE%
lubC:\Users\$USERNAME
. Oczywiście katalog Windows jest konwertowany na styl POSIX przez Cygwin.cygwin
Tylko AD: Katalog domowy użytkownika jest ustawiony na ścieżkę POSIX podaną w atrybucie cygwinHome z klasy pomocniczej cygwinUser. Zobacz także sekcję „Schemat Cygwin” .unix
Tylko AD: Katalog domowy użytkownika jest ustawiony na ścieżkę POSIX podaną w atrybucie unixHomeDirectory z klasy pomocniczej posixAccount. Zobacz także sekcję „Schemat unixa” .desc
Katalog domowy użytkownika jest ustawiony na ścieżkę POSIX podaną w ustawieniu home = "..." podobnym do XML w atrybucie opisu użytkownika w SAM lub AD. Szczegółowy opis znajduje się w sekcji „Schemat opisu”.Poniższe sprawi, że katalog domowy użytkownika w Cygwin będzie taki sam, jak jest używany w katalogu domowym Windows.
Cygwin 1.7.33 lub starszy
Dla tych, którzy używają Cygwin 1.7.33 lub wcześniejszej, zaktualizuj do najnowszej wersji Cygwin i usuń wcześniej używane pliki
/etc/passwd
i/etc/group
, a następnie zobacz powyższe kroki.W przeciwnym razie wykonaj te starsze kroki poniżej.
Po pierwsze, ustaw zmienną środowiskową Windows dla HOME, która wskazuje na Twój profil użytkownika:
HOME
%USERPROFILE%
Teraz zaktualizujemy
/etc/passwd
plik Cygwin za pomocą%HOME%
właśnie utworzonej zmiennej Windows . Loginy powłoki i logowanie zdalne za pośrednictwemssh
będą polegały na/etc/passwd
informowaniu ich o lokalizacji$HOME
ścieżki użytkownika .W wierszu polecenia Cygwin bash wpisz:
-d
Przełącznik nakazuje mkpasswd obejmować użytkowników domeny, natomiast-l
jest jedynie wyjściowych użytkowników maszyn lokalnych. Jest to ważne, jeśli używasz komputera w pracy, na którym informacje o użytkowniku są pobierane z kontrolera domeny systemu Windows.Teraz możesz zrobić to samo dla grup, chociaż nie jest to konieczne, chyba że będziesz używać komputera, który jest częścią domeny Windows. Cygwin odczytuje informacje o grupie z baz danych kont Windows, ale możesz dodać
/etc/group
plik, jeśli twój komputer jest często odłączony od kontrolera domeny.Po znaku zachęty Cygwin bash wpisz:
Teraz wyjdź z Cygwin i uruchom go ponownie. Powinieneś zauważyć, że twoja ścieżka HOME wskazuje tę samą lokalizację, co twój profil użytkownika Windows - tj
/cygdrive/c/Users/username
źródło
HOME
katalogu.Lubię, gdy moja instalacja cygwin jest zsynchronizowana z pendrive i innym komputerem, więc nienawidzę twardego kodowania katalogu domowego. Używam następującego cygwin.bat:
SETLOCAL i ENDLOCAL zapewniają, że SHELL i HOME nie blokują istniejących zmiennych env dla innych programów.
HOME=%~dp0..\..\doc\unix
ustawia HOME na dwa katalogi wyżej, w podkatalogu doc / unix. Następnie w .... \ doc \ unix.bashrc dołączamPATH="/bin:/usr/local/bin:/usr/X11R6/bin:/usr/bin"
. Niestart /wait %CD%\bin\bash
uruchamiałem basha, ponieważ używam Console2 , więc nie potrzebuję dodatkowego okna cmd.źródło
Korzystanie ze zmiennej środowiskowej systemu Windows: HOME
To działa dla mnie w przypadku stałego, nieprzenośnego, niesieciowego rozwiązania; tj. ustawienie zmiennej środowiskowej HOME na stałe w systemie Windows.
Zauważ, że nie ma to wpływu na sesje ssh lub telnet , które zawsze odwołują się do / etc / passwd
ref: Konfiguracja Cygwin - Moja zmienna środowiskowa HOME nie jest tym, czego chcę.
CMD
Dla bieżącego użytkownika (należy uruchomić raz na użytkownika):
Dla nowych użytkowników:
Uwaga: Carets ^ przed znakami procentu%
IMPORTUJ PLIK REG
Importuj ten plik reg ( bieżący użytkownik):
Dla nowych użytkowników:
REGEDIT
W Regedit pod:
Dla aktualnego użytkownika:
Dla nowych użytkowników:
Utwórz HOME jako nową rozszerzalną wartość ciągu (* REG_EXPAND_SZ *) i wstaw % USERPROFILE%
źródło
Nie jestem pewien, czy jest to najbezpieczniejsze rozwiązanie, ale jest to możliwe rozwiązanie, które działa dla mnie;)
źródło
Edytowałem mój plik / etc / passwd bezpośrednio (upewniając się, że nic innego nie będzie do niego dostęp) i zmieniłem wszystkie odniesienia do / home na / Users (w Windows 7). Okazało się, że aby wszystko działało poprawnie, musiałem usunąć wszelkie katalogi w katalogu / home (lub przenieść je w odpowiednie inne miejsce). W przeciwnym razie cygwin rozwinąłby rozdwojoną osobowość, w której, na przykład, „bash -l” zaczynałoby się w / home / Pablo, ale $ HOME byłoby / Users / Pablo, a emacs wyglądałby na odwrotnie. Po usunięciu / home / Pablo wszystko działało dobrze.
źródło
Musiałem być tylko
C:\Users\username
wtedy, gdy zacząłem cygwin. Więc dodałem tylko.bashrc
i.profile
cd ${HOMEPATH}
Jeśli wolisz używać
~/.
zamiast$HOMEPATH
, możesz również dodać:export HOME=${HOMEPATH}
W ten sposób nie przeszkadzam w instalacji cygwin.
źródło