%EC%9D%98%20CygWin%20%ED%84%B0%EB%AF%B8%EB%84%90%EC%9D%B4%20%EC%98%AC%EB%B0%94%EB%A5%B8%20%24HOME%20%EA%B2%BD%EB%A1%9C%EC%97%90%EC%84%9C%20%EC%8B%9C%EC%9E%91%EB%90%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
나는 설치했다CygWinv1.7.28.
문제가 빨리 설명됨: 기본적으로 원격 로그인을 통해 CygWin 쉘을 시작하면$HOME모든 파생된(나쁜) 결과와 함께 원래 위치에 있지 않습니다. 로컬 콘솔은 정상적으로 작동합니다.
그리고 지금은세부:
GUI(Windows XP)에서는 다음을 수행합니다.
c:\CygWin\bin\bash.exe --login -i
또는 (실제로도 같은 방식으로):
c:\CygWin\Cygwin.bat
나는 올바른 것부터 시작한다$HOME내 모든 구성 파일과 함께:
LuisRivas@portatilacer ~
$ pwd
/home/LuisRivas
LuisRivas@portatilacer ~
$ ls .* -la
-rw------- 1 LuisRivas Ninguno 108 mar 3 14:34 .bash_history
-rwxr-xr-x 1 LuisRivas Ninguno 1494 mar 3 03:00 .bash_profile
-rwxr-xr-x 1 LuisRivas Ninguno 6127 mar 3 14:28 .bashrc
-rwxr-xr-x 1 LuisRivas Ninguno 1919 mar 3 03:00 .inputrc
-rwxr-xr-x 1 LuisRivas Ninguno 1236 mar 3 03:00 .profile
$ echo $HOME
/home/LuisRivas
하지만 SSH를 통해 로그인하면(Bitvise SSH 서버v6이 Windows XP SP3에 설치됨) 프로세스를 반복합니다(동일한 사용자).
c:\CygWin\bin\bash.exe --login -i
이제배시 쉘다음과 같은 위치에서 시작되지 않습니다.
LuisRivas@portatilacer ~
$ echo $HOME
/cygdrive/c/Documents and Settings/LuisRivas
LuisRivas@portatilacer ~
$ pwd
/cygdrive/c/Documents and Settings/LuisRivas
LuisRivas@portatilacer ~
$ ls .* -la
-rw-------+ 1 LuisRivas Ninguno 197 mar 3 14:36 .bash_history
.:
total 1211
drwxrwx---+ 1 Administradores SYSTEM 0 mar 3 14:30 .
drwxrwxr-x+ 1 Administradores SYSTEM 0 mar 1 04:06 ..
-rw-------+ 1 LuisRivas Ninguno 197 mar 3 14:36 .bash_history
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 Configuración local
drwx------+ 1 LuisRivas Ninguno 0 dic 25 15:41 Cookies
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:17 Datos de programa
drwx------+ 1 LuisRivas Ninguno 0 dic 25 13:56 Entorno de red
drwx------+ 1 LuisRivas Ninguno 0 dic 25 13:56 Escritorio
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 Favoritos
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:02 IETldCache
drwx------+ 1 LuisRivas Ninguno 0 dic 25 13:56 Impresoras
drwx------+ 1 LuisRivas Ninguno 0 dic 25 13:56 Menú Inicio
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 Mis documentos
-rwx------+ 1 LuisRivas Ninguno 786432 mar 3 14:17 NTUSER.DAT
-rwx------+ 1 LuisRivas Ninguno 1024 mar 3 14:34 NTUSER.DAT.LOG
-rwxrwx---+ 1 Administradores SYSTEM 192 mar 3 14:03 ntuser.ini
drwx------+ 1 LuisRivas Ninguno 0 dic 25 15:33 Plantillas
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 Reciente
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 SendTo
그건:CygWin내 Windows 홈 디렉터리에서 셸을 시작했기 때문에 개인 설정이 없습니다(.bashrc,.bash_profile... 등) 별칭과 같습니다.
어쩌면 이 이상한 동작은 일종의 누락된 환경 변수(GUI에는 있지만 원격 콘솔에는 없음)로 인해 발생했을 수도 있지만 해당 변수를 찾을 수 없었습니다.
원격 콘솔을 시작하려면 어떻게 해야 합니까?배시 쉘포함 된CygWin어디에 있어야 합니까?
- 편집: 요청 시 추가 데이터는 다음과 같습니다.
로컬 Bash Shell에서:
LuisRivas@portatilacer ~
$ id
uid=1004(LuisRivas) gid=513(Ninguno) grupos=513(Ninguno),0(root),544(Administradores),545(Usuarios)
원격 Bash Shell에서(다른 점 없음):
LuisRivas@portatilacer ~
$ id
uid=1004(LuisRivas) gid=513(Ninguno) grupos=513(Ninguno),0(root),544(Administradores),545(Usuarios)
다음은 /etc/passwd의 내용입니다(사용자 "LuisRivas" 행만 표시됨).
LuisRivas@portatilacer ~
$ cat /etc/passwd
[Lines not needed (I think)]
LuisRivas:unused:1004:513:U-PORTATILACER\LuisRivas,S-1-5-21-789336058-1957994488-1417001333-1004:/home/LuisRivas:/bin/bash
[Lines not needed (I think)]
편집 2: 첫 번째 글에서 나는 틀렸습니다: 파일.bashrc시작 경로(이 경로가 어디에 있든)에서 OK를 읽습니다.CygWin쉘을 시작할 때. 해당 정보는 현재 삭제되었습니다.
편집 3: 내 테스트는 Telnet이 아닌 SSH 원격 로그인에서만 수행되었습니다. 그래서 문제가 발생했습니다. 정확히 Bitvise SSH 서버의 일부 동작에서 발생했습니다(아래 응답 읽기).
답변1
몇 마디로 문제를 설명하면 다음과 같습니다.Bitvise SSH 서버(Windows) (아마도 비논리적이며 필요하지 않은 것 같음) 환경 변수를 추가합니다.%집%그것은 다음과 같다%HOMEPATH%.
솔루션: Bitvise SSH 서버가 모든 SSH 클라이언트에 추가하는 환경 변수를 관리할 수 있는 가능성(퍼티, 클래식 GNU 명령줄SSH... 등). 내가 조사한 한 프로그램에는 이 기능이 없습니다. 계속 검색하겠습니다.
해결 방법:
를 불러배시 쉘를 통해.cmd가장 먼저 삭제하는 파일%집%환경 변수. 다음과 같은 것 :
@ set HOME=
@ c:\CygWin\bin\bash.exe --login -i시작하기배시 쉘변경함으로써$HOME값을 입력하고 다시 시작합니다.
c:\CygWin\bin\bash.exe --login -i -c "export HOME=/home/%USERNAME%;cd /home/%USERNAME%; exec /bin/bash"
모든 구성 파일을 복사하기만 하면 됩니다.c:\CygWin\홈\%USERNAME%에게c:\사용자\%USERNAME%. 제대로 작동하는 것 같습니다(이 방법에 문제가 있는지 아는 사람이 있습니까?).
아이디어와 솔루션 링크를 제공한 @user1147688(위)에게 감사드립니다.비슷한 질문.
답변2
저에게는 문제가 제가 삭제할 수 있었던 Windows 환경 변수 %HOME%로 인한 것이 아니었습니다. 환경 변수 대화 상자에 %HOME% 변수가 나열되지 않았습니다.
대신 고급 설정에서 "환경 변수 허용"을 체크 해제하여 Bitvise에서 문제를 해결할 수 있었습니다. 필드에서 "%HOME%"도 삭제했습니다.초기 터미널 쉘 디렉토리, 그러나 그것만으로는 충분하지 않았습니다.