라즈베리 파이 GUI 부팅 안됨 - lajeubeli pai GUI buting andoem

재부팅 시 필요한 프로그램을 자동으로 실행하도록 설정한다.

라즈베리파이를 한 동안 오래 켜 놓을 시 메모리 관리가 안되어 꺼지는 경우 혹은 느려지는 것을 방지하기 위해 재부팅을 수행한다.

startx까지 모두 실행한 후에 실행되므로 crontab으로 불가능한 GUI프로그램들도 모두 잘 작동한다.

재부팅 후 계정 로그인 해야 프로그램이 실행된다.

부팅 시 바로 실행 시키고 싶은 파일을 설정하기 위해 autostart파일을 수정한다.

How to Run a Raspberry Pi Program on Startup - learn.sparkfun.com

Introduction The Raspberry Pi is a great single board computer, but like most computers, its functions rely mostly on human input. That means whenever you start up (or boot) your computer, it waits for your input to run programs. That's great, but how do w

learn.sparkfun.com

안녕하세요. 

라즈베리파이 난생 처음 부팅해볼만큼 잘모르지만 공부하는겸

라즈베리파이와 리눅스 내용을 자주자주 올리도록 하겠습니다. 

마치 라즈베리파이 일기같은 느낌으로...!

저는 라즈베리파이를 우분투 데스크탑을 얹어서 사용할겁니다. 

리눅스에 완전히 문외한이기 때문에 조금 고생을 많이 했습니다. 

아마 라즈베리파이에 우분투 데스크탑을 설치하시는데는 큰 문제가 없었을거라고 예상합니다. 

1. https://blog.naver.com/roboholic84/221701573539

라즈베리파이에 우분투 데스크탑 설치하기

2019년 10월 17일, 우분투 재단이 Ubuntu 19.10 버전 출시와 더불어 공식적으로 라즈베리파이 4B 보드의 ...

blog.naver.com

라즈베리 파이 GUI 부팅 안됨 - lajeubeli pai GUI buting andoem

2. https://kbs4674.tistory.com/130?category=863623

라즈베리파이4B Ubuntu OS 설치

얼마전에 Ubuntu에서는 20.04 버전을 발표했습니다. 이와 더불어 라즈베리파이 에서도 Ubuntu 20.04 지원이 됩니다. 현시간 글 작성 기준 라즈베리파이4B가 탄생한지 얼마 안됐다보니 지원이 적은 탓에

kbs4674.tistory.com

라즈베리 파이 GUI 부팅 안됨 - lajeubeli pai GUI buting andoem

위 두 개가 초보자인 저에게 쉽게 따라갈 수 있었습니다.

1. 우분투 GUI 설치

sudo apt-get install ubuntu-desktop

sudo는 (substitute user do) 의 약자로, 다른 사용자의 권한으로 명령을 이행하라는 뜻이고, 

apt는 (advanced packaging tool) 의 약자로 패키지 관리 명령어 도구라고 합니다.

저같은 경우는 위 명령어를 사용하였을 때 실행되기는 했지만, 끝부분에 오류가 발생했습니다. 

찾아보니까 업데이트 & 업그레이드를 해주면 문제가 해결된다고 합니다. 

sudo apt-get update
sudo apt-get upgrade

하지만 저같은 경우엔 업데이트할 때 오류가 떴습니다. 

2. Release file for is not valid yet . updates for this repository will not be applied

위 오류가 떴는데, 찾아보니까 유튜브에서 쉽게 찾을 수 있었습니다. 

https://www.youtube.com/watch?v=k9TktoPOzX8

라즈베리 파이 GUI 부팅 안됨 - lajeubeli pai GUI buting andoem

영상을 요약하자면 라즈베리파이 시간과 현재 시간이 맞지 않아 업데이트 실패가 뜨는 것이였습니다. 

현재 시간 한 번 찍어보겠습니다. 

date  # 라즈베리파이에 설정된 시간을 보는 명령어

#Wdb Apr 1 17:49:32 UTC 2020

지금은 7월인데 4월이라고 뜹니다. 바로 현재시간으로 바꿔주도록 하겠습니다. 

저는 항상 쉬운 방법으로 접근하는 것을 선호하기 때문에, 그나마 가장 쉬운 방법으로 가겠습니다...

sudo apt-get install rdate  # rdate 설치

sudo rdate -s time.bora.net  # 현재시간으로 변경

우선, 알아두어야 할 점이 라즈베리파이는 RTC 모듈이 없기 때문에 라즈베리파이가 꺼지면, 시간이 흐르지 않습니다. 

위 방법은 라즈베리파이가 꺼지면, 시간이 다시 이상하게 변해 있고, 한국시간이 아닙니다.

하지만 업데이트하는데에는 문제가 없기 때문에 이대로 진행하겠습니다.

이 문제점을 해결하는 글은 다음 글에 올리도록 하겠습니다. 

date 

# Web Jul 22 13:10:45 UTC 2020

다시 업데이트 해보도록 하겠습니다. 

sudo apt-get update
sudo apt-get upgrade

새로운 오류로 바뀌었습니다. 

3. Unable to lock the administration directory

/var/lib/dpkg/lock 파일이 존재해서 업데이트할 때 발생하는 문제라고 합니다. 

sudo rm /var/lib/apt/lists/lock
 
sudo rm /var/cache/apt/archives/lock
 
sudo rm /var/lib/dpkg/lock
 
dpkg --configure -a

rm은 (remove) 약자로 삭제하는 명령어입니다.  /var/lib/apt/lists의 경로의 lock을 삭제하라는 뜻입니다. 

dpkg --configure 패키지명은 --unpack 옵션으로 풀린 패키지를 환경설정할 때 사용한다고 합니다. 

4. 우분투 GUI 재설치

sudo apt-get install ubuntu-desktop

설치에 성공했습니다. GUI를 실행하겠습니다. 

startx
라즈베리 파이 GUI 부팅 안됨 - lajeubeli pai GUI buting andoem
성공

5. Python 버젼 확인하기

우분투를 설치하면 python이 자동으로 설치된다고 합니다. 

파이썬으로 센서들을 제어하니까 그나마 다행인 것 같습니다. 

python3 -V

# python -V 는 python2의 버젼
# python3 -V 는 python3의 버젼
# 헷갈리지 마세요.
라즈베리 파이 GUI 부팅 안됨 - lajeubeli pai GUI buting andoem
python 3.8.2

하지만 라즈베리파이에 익숙해지면 USB Accelerator를 통해서 딥러닝 관련으로 해볼려면, 3.5, 3.6. 3.7이 필요합니다...

결국 파이썬도 버젼벌로 사용하는 방법을 알아야합니다... 열심히 깨지고 공부해야합니다.

그래도 부팅에 성공하였으니 이번 글은 이걸로 마치도록 하겠습니다.