컴퓨터에 로그인을 시도했다가 진입이 거부되는 것만큼 당황스러운 일도 드뭅니다. 사용자 이름을 클릭하고 비밀번호를 입력한 다음 엔터키를 누르면… 아무 일도 일어나지 않습니다.
안타깝게도 이런 경험은 우분투에서 생각보다 흔한 일입니다. 이 문제를 일반적으로 우분투 로그인 루프 문제라고 하는데, 어떻게 해야 하는지 알고 있다면 이 문제를 해결하는 것은 어렵지 않으니 걱정하지 마세요.
우분투 시스템이 로그인 루프에 갇힌 경우 이 방법을 따라하면 곧바로 실행할 수 있습니다.
우분투 로그인 화면에서 터미널로 이동하기
우분투 설치가 로그인 화면에서 멈췄나요? 그렇다면 가장 먼저 해야 할 일은 그래픽 로그인 화면에서 나와 터미널을 실행하는 것입니다. 이렇게 하려면 시스템을 정상적으로 부팅하고 로그인 화면이 나타날 때까지 기다리세요. 로그인 화면에서 Ctrl + Alt + F3을 누릅니다.
일부 노트북에서는 기능 키를 사용하여 화면 밝기 또는 사운드 볼륨을 설정합니다. 이러한 노트북에서는 F3 키를 볼륨 조절이나 다른 기능이 아닌 기능 키로 사용하려면 다른 키를 누르고 있어야 할 수 있습니다. 예를 들어
Dell 노트북에는 Fn이라고 표시된 키가 있습니다. 이러한 컴퓨터에서는 Fn + Ctrl + Alt + F3을 동시에 눌러야 합니다.
이 키 조합을 누르면 로그인 프롬프트가 있는 터미널 화면으로 이동합니다. 사용자 아이디와 비밀번호로 로그인하면 홈 디렉터리에 명령 프롬프트가 표시됩니다. 데스크톱의 터미널 앱에서와 마찬가지로 여기에 명령을 입력할 수 있습니다.
구성 파일의 소유권 설정 확인
우분투 로그인 루프의 가장 일반적인 원인 중 하나는 일부 시스템에서 로그인 화면을 제어하는 데 도움이 되는 파일 중 하나 또는 두 개의 파일 소유권 설정이 잘못되어 있기 때문입니다. 이러한 파일은 홈 디렉터리에 숨겨진 파일로 존재합니다.
명령줄에 다음을 입력하면 전체 디렉토리 목록을 볼 수 있습니다:
ls -la
목록 끝에서 .Xauthority라는 이름의 파일을 찾습니다. 이 파일은 시스템에 존재하지 않을 수 있습니다. .Xauthority라는 이름의 파일이 없으면 다음 제안 사항으로 건너뛰세요.
.Xauthority 파일이 존재하는 경우 파일의 소유자와 그룹을 확인하세요. 이 두 속성은 파일 이름과 크기 왼쪽에 표시됩니다.
위 이미지에서는 이 두 파일이 강조 표시되어 있고 모두 루트로 설정되어 있습니다. 이 파일이 시스템에 있고 루트 소유로 표시되면 이 파일이 문제인 것입니다. 이 파일은 루트 사용자가 아닌 회원님이 소유해야 합니다.
소유자 설정을 변경하려면 다음 명령을 입력합니다:
sudo chown username:username .Xauthority
물론 명령을 입력할 때 ‘username’을 실제 사용자 아이디로 바꿔야 합니다. 표시된 대로 정확하게 명령을 입력해야 합니다. 사용자 이름 사이의 콜론, 파일 이름 시작 부분의 점, 대문자 X에 유의하세요.
완료되면 디렉터리를 다시 나열하면 이제 파일 소유자가 사용자 이름이어야 합니다.
.Xauthority 파일이 올바르게 설정되었다면 디렉토리 목록에서 .ICEauthority라는 파일이 존재하는지 더 찾아보세요. 이 파일이 있으면 소유자도 확인하세요. 소유자가 root(또는 사용자 아이디가 아닌 다른 이름)로 설정되어 있으면 위의 명령어를 사용하여 소유권 설정을 수정하고, 앞서 언급한 명령어에서 .Xauthority를 .ICEauthority로 변경하세요.
/tmp 디렉터리의 권한 설정 확인
우분투가 로그인 화면에서 멈춘 경우, 시스템의 /tmp 디렉터리의 권한 설정이 잘못되었을 수 있습니다. 이 디렉터리에는 모든 임시 파일이 저장되며, 시스템 프로세스가 해당 파일에 액세스할 수 없을 때 혼란을 일으킬 수 있습니다.
/tmp 디렉터리에 대한 권한을 확인하려면 다음 두 명령을 입력합니다:
cd /
ls -la
/tmp 디렉터리는 목록의 맨 끝에 나타나야 합니다. 여기서 디렉터리 목록의 가장 왼쪽 열에 있는 문자 문자열을 확인해야 합니다. 이는 디렉터리에 대한 권한을 나타냅니다.
/tmp의 경우 해당 문자열은 정확히 drwxrwxrwt여야 합니다. 디렉토리 목록에 다른 내용이 표시되면 다음 명령을 실행하여 파일 권한을 변경하세요:
sudo chmod 1777 /tmp
사용 가능한 여유 공간 확인
예기치 않은 우분투 루프 로그인 문제의 또 다른 일반적인 원인은 하드 드라이브의 제한된 공간입니다. 하드 드라이브에 쓸 수 없을 때 시스템이 이상한 작업을 수행합니다.
여유 공간을 확인하려면 df 명령을 사용하세요:
df -h ~
홈 디렉터리가 있는 드라이브에서 사용한 공간과 사용 가능한 공간이 표시됩니다. 여유 공간이 3~4기가바이트 미만이면 삭제할 파일을 찾아야 합니다. 다운로드 디렉터리가 좋은 시작점이 될 수 있습니다.
다음 명령을 사용하여 전체 시스템의 디스크 사용량을 나열할 수도 있습니다:
df -h
이 명령의 결과에 어떤 장치에 여유 공간이 남아 있지 않다고 표시되면 해당 장치에서 일부 파일을 제거하거나 파티션 크기를 늘려 더 많은 공간을 확보하는 방법을 알아내야 합니다.
홈 디렉터리 외부에서 파일을 제거하거나 디스크 파티션을 수정할 때는 매우 주의해야 합니다. 실수하면 모든 데이터가 손실될 수 있습니다.
데스크톱 환경 제거 및 재설치
다른 모든 방법이 실패하면 최후의 수단으로 우분투 데스크톱 환경(GDM 포함)을 제거하고 재설치해 볼 수 있습니다. 완료하는 데 시간이 다소 걸릴 수 있지만 몇 가지 명령만 입력하면 됩니다.
데스크톱을 새로 설치하려면 다음 명령을 순서대로 입력합니다:
sudo apt remove ubuntu-desktop
sudo apt update
sudo apt dist-upgrade
sudo apt autoremove
sudo apt clean
sudo apt install ubuntu-desktop
이러한 명령은 현재 데스크톱을 제거하고, 소프트웨어 목록을 업데이트하고, 시스템 및 패키지를 최신 버전으로 업그레이드하고, 사용하지 않는 파일을 제거 및 정리하고, 데스크톱 환경을 다시 설치합니다.
각 구성 후 시스템 재부팅
위에 명시된 해결 방법을 구현한 후 시스템을 재부팅하고 다시 로그인을 시도해야 합니다. 이렇게 하려면 터미널 프롬프트에 다음을 입력합니다:
sudo shutdown -r now
이 시점에서 우분투 로그인 루프 문제를 해결하고 시스템에 다시 액세스할 수 있어야 합니다. 이 경험을 겪는 것은 누구에게나 즐겁지 않지만 중요한 교훈을 배워야 합니다. 바로 이런 일이 Linux 시스템을 정기적으로 백업하는 것이 필수적인 이유입니다.
드라이브를 포맷하고 다시 시작하는 것 외에 다른 해결책이 없는 경우도 있습니다. 백업 없이 이러한 상황에 처한다면 고통스러울 것입니다.