![최고: 시간대가 잘못되었습니다.](https://linux55.com/image/44379/%EC%B5%9C%EA%B3%A0%3A%20%EC%8B%9C%EA%B0%84%EB%8C%80%EA%B0%80%20%EC%9E%98%EB%AA%BB%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
일반적으로 .bashrc 파일을 추가하는 등의 방법으로 변경하여 컴퓨터 시계의 시간대를 설정합니다. TZ='America/Los_Angeles'; export TZ
그러면 date
호출할 때마다 올바른 시간대에 대한 올바른 시간이 반환됩니다. 그러나 awesome을 탐색한 후에는 echo $TZ
awesome에서 실행하면 echo $TZ
내 터미널에서 실행했을 때와 다른 결과가 반환되는 것 같습니다 .
lua repl의 모든 인스턴스 echo $TZ
도 올바른 시간대를 반환하는 것 같습니다(.bashrc에 따라).
프로그램 간 시간대를 어떻게 동기화하나요?
답변1
문제는 TZ
올바른 파일에 환경 변수를 정의하지 않는다는 것입니다. ~/.bashrc
대화형 셸의 구성 파일입니다. 대화형 셸에 포함하고 싶은 별칭, 키 바인딩 및 기타 항목을 위한 장소입니다. 거기에서 환경 변수를 정의할 수 있지만 변수는 대화형 셸에서 실행되는 프로그램에서만 설정할 수 있습니다. 여기에는 창 관리자와 창 관리자가 시작한 모든 프로그램이 제외됩니다.
따라서 적절한 위치에 환경 변수를 정의하십시오. 비그래픽 로그인의 경우 올바른 위치는 입니다 ~/.profile
. 그래픽 모드로 로그인할 때 올바른 위치는 배포, 디스플레이 관리자, 세션 또는 창 관리자에 따라 다릅니다. 우분투에서는 모든 디스플레이 관리자가 ~/.profile
읽기 가능으로 설정되어 있다고 생각합니다. 그래서환경 변수 정의~/.profile
.
이 주제는 여러 번 언급되었습니다.모든 쉘이 읽을 수 있는 ".bashrc"에 해당하는 파일이 있습니까?
상황에 따라 또 다른 가능성은 Awesome 구성 파일( )에서 환경 변수를 정의하는 것입니다 os.setenv('TZ', 'America/Los_Angeles')
. 로그아웃했다가 다시 로그인하지 않고 시간대를 변경하고 싶다면(노트북을 가지고 여행하는 경우) Awesome이 최선의 선택입니다.