각각의 프로그램과 프로세스는 실행되기 위해 서로 다른 환경을 필요로 합니다. 하나의 컴퓨터에서 Windows는 모든 프로그램과 프로세스가 자신에게 필요한 환경에 접근할 수 있도록 보장해야 합니다.
이를 위해 Windows는 각 프로그램이 작동하기 위해 어떤 종류의 환경이 필요한지 파악해야 하며, 이 정보를 쉽게 찾아볼 수 있도록 어딘가에 저장해 두어야 합니다. 바로 환경 변수(Environment Variables)가 그 역할을 담당합니다.
환경 변수를 한마디로 요약하면 '데이터 저장 메커니즘'입니다. 이번 글에서는 환경 변수가 어떻게 작동하는지 살펴보고, 생성·수정·삭제하는 방법까지 자세히 알아보겠습니다.
Windows 10의 환경 변수란 무엇인가?
환경 변수는 프로그램과 프로세스마다 서로 다른 환경을 구성하는 데 필요한 데이터를 저장하는 동적 변수입니다.
좀 더 쉽게 이해하기 위해 예시를 들어보겠습니다. 어떤 프로그램이 Windows에 내장된 도구를 사용해야 한다고 가정해 봅시다. 해당 도구를 사용하려면 프로그램은 먼저 그 도구의 위치를 알아야 하고, 자신에게 사용 권한이 있는지도 확인해야 합니다. 이 외에도 프로그램이 도구를 활용하기 전에 알아야 할 정보들이 여럿 존재합니다.
프로그램은 이러한 정보를 Windows에 요청함으로써 얻을 수 있습니다. Windows는 환경 변수(EV)에서 필요한 데이터를 조회한 뒤, 해당 프로그램이 실행될 수 있는 환경을 만들어 줍니다.
다시 말해, 환경 변수에는 시스템에서 실행되는 모든 프로그램과 프로세스가 모든 사용자 계정에 걸쳐 접근할 수 있는 데이터가 담겨 있습니다. 이 변수들이 저장한 데이터 덕분에 프로그램들은 자신이 설계된 환경에서 원활하게 작동할 수 있습니다.
Windows의 대표적인 환경 변수로는 PATH, HOMEPATH, USERNAME 등이 있습니다. 이 변수들에는 시스템의 모든 사용자와 프로세스가 언제든지 접근할 수 있는 값들이 들어 있습니다. 예를 들어 USERNAME 환경 변수에는 현재 사용자의 이름이 저장되어 있으며, Windows는 현재 사용자 이름이 필요할 때마다 이 변수를 참조합니다.
Windows 10에서 환경 변수를 설정하는 방법
먼저 알아두어야 할 점은, 시스템 전체에 적용되는 환경 변수를 설정하려면 관리자 권한이 필요하다는 것입니다. 관리자 권한이 없다면 시스템 관리자에게 도움을 요청하세요.
관리자 권한이 있다면 아래 단계를 따라 진행합니다:
- 시작 메뉴 검색창에 '고급 시스템 설정'(Advanced system settings)을 입력하고 가장 일치하는 항목을 선택합니다.
- 시스템 속성 창에서 '환경 변수'(Environment Variables) 버튼을 클릭하여 환경 변수 패널을 엽니다.
환경 변수 패널에는 목적에 따라 두 가지 유형의 변수가 표시됩니다. 변경 사항이 현재 사용자에게만 적용되기를 원한다면 '사용자 변수'(User variables)를 수정하고, 시스템 전체에 적용되기를 원한다면 '시스템 변수'(System variables)를 수정하면 됩니다.
예를 들어 Java를 새로 설치한 후 java 경로를 환경 변수에 추가하고 싶다고 가정해 봅시다. 이 경우 다음과 같이 진행합니다:
- 사용자/시스템 변수 영역 아래의 '새로 만들기'(New) 버튼을 클릭합니다. 그러면 새 사용자 변수 입력 창이 열립니다.
- '변수 이름' 필드에 JAVA_HOME을 입력하고, '변수 값'에는 Java가 설치된 디렉터리 경로를 지정합니다.
'확인'을 누르면 JAVA_HOME 변수가 등록되어 PATH 변수와 함께 사용할 수 있게 됩니다.
환경 변수를 수정하는 방법
기존 환경 변수를 수정하려면 목록에서 원하는 변수를 선택한 뒤 '편집'(Edit) 버튼을 클릭합니다. 그러면 환경 변수 편집 패널이 열리며, 여기서 변수를 생성·삭제·수정할 수 있습니다.
변수 목록에서 수정할 항목을 선택하고 '편집'을 클릭한 후, 변수 값을 원하는 내용으로 변경하면 됩니다. 같은 방식으로 불필요한 변수를 삭제할 수도 있습니다.
Windows PATH 변수란 무엇이며, 어떻게 변경할까?
간단히 말해, PATH 변수는 컴퓨터에 설치된 프로그램과 명령어들의 주소록이라고 할 수 있습니다. 명령줄 인터페이스(CLI)에서 새로 설치한 프로그램을 실행하고 싶다면, 반드시 그 프로그램의 주소를 PATH 변수에 등록해야 합니다.
여기서 기억할 점은, 모든 프로그램이 PATH 환경 변수에 등록되는 것은 아니라는 사실입니다. 명령줄 인터페이스에서 사용할 목적으로 만들어진 프로그램만 PATH 변수에 주소가 기록됩니다. 따라서 GUI(그래픽 사용자 인터페이스)로 실행하는 프로그램들은 PATH 변수에 등록되지 않습니다.
작동 방식은 다음과 같습니다. 명령줄에서 명령어를 입력하면 Windows는 먼저 현재 디렉터리에서 해당 명령어를 검색합니다. 현재 디렉터리에서 찾지 못하면, 이번에는 PATH 변수를 조회하여 명령어의 주소를 찾아냅니다.
PATH 변수에 주소를 추가하는 과정은 앞서 설명한 것과 동일합니다. 환경 변수 창을 연 뒤 PATH 변수를 선택하고 '편집'을 클릭합니다.
편집 창에서는 디렉터리를 추가, 삭제, 수정할 수 있습니다.
마지막으로 한 가지 더 기억할 것이 있습니다. PATH 변수는 시스템의 모든 사용자에게 동일하지 않습니다. 즉, 사용자마다 서로 다른 디렉터리 목록을 가질 수 있으며, 한 사용자의 변경이 다른 사용자에게 영향을 주지 않습니다. 따라서 특정 도구를 모든 사용자가 사용할 수 있게 하려면 '시스템 변수' 영역의 PATH 변수를 편집해야 합니다.
정리: 환경 변수는 프로그램이 작동하는 데 필요한 데이터를 저장한다
프로그램이 작동하려면 데이터가 필요합니다. Windows는 이러한 데이터를 모든 프로그램이 접근할 수 있는 전역 변수에 저장함으로써 효율적으로 제공하는데, 이 전역 변수가 바로 환경 변수입니다.
환경 변수는 '고급 시스템 설정' 패널 안에서 추가, 수정, 삭제할 수 있습니다.
또한 한 대의 컴퓨터에 여러 사용자가 있다면, 사용자 환경 변수는 각 사용자마다 다르게 적용됩니다. 예를 들어 한 사용자가 PATH 변수에 등록한 명령어는 다른 사용자에게는 사용할 수 없을 수 있습니다.
반면 시스템 환경 변수는 모든 사용자에게 공통으로 적용되며, 이를 수정하거나 삭제하려면 관리자 권한이 필요합니다.
결국 환경 변수는 Windows가 중요한 데이터를 저장하는 방식입니다. 따라서 수정하기 전에 무엇을 변경하려는지 정확히 이해하고 신중하게 작업하는 것이 좋습니다.