"세션 - 시작 프로그램"의 오작동 문제 해결하기

[attachment=2:3fgvu0oa]cairo-clock_error.png[/attachment:3fgvu0oa]
저는 시계 프로그램으로 [b:3fgvu0oa]cairo-clock[/b:3fgvu0oa]을 사용하는데 평상시 이상없이 실행되지만
[b:3fgvu0oa][세션][/b:3fgvu0oa]의 [b:3fgvu0oa]"시작 프로그램"[/b:3fgvu0oa]에 등록을 하고 우분투를 부팅하면 그림과 같이 시계가 깨져 보입니다.

[attachment=1:3fgvu0oa]amarok_error.png[/attachment:3fgvu0oa]
[b:3fgvu0oa]amarok[/b:3fgvu0oa]을 "시작 프로그램"에 등록을 하면 가끔 위와 같은 메시지를 보이며 실행이 되지 않기도 합니다.

또 다른 예로 [b:3fgvu0oa]pidgin[/b:3fgvu0oa]을 등록한 후 부팅하면 [b:3fgvu0oa]"친구 목록"[/b:3fgvu0oa] 창이 자동으로 뜨는 경우가 생깁니다.

이런 현상은 자주 일어나기도 하고 아에 나타나지 않기도 하기 때문에 종잡을 수가 없습니다.
이미 오래전부터 알려져 있는 문제이긴 하지만 딱히 아직까지 해결되지 않고 있습니다.

부팅시 프로그램 사이 간섭이라는 설도 있고 의존성이 해결되지 않은 상태로 로딩된다는 말도 있는데
솔직히 왜 그런지 저도 모르기 때문에 넘어가도록 하겠습니다.

저의 경우 "시작 프로그램"에 등록하고 사용하는 프로그램이 많기 때문에 배포판이 바뀔 때마다 다양한
문제가 발생합니다.

해결책은 의외로 간단합니다.

예전에 cairo-clock 때문에 웹 검색을 한 적이 있는데 한 친구가 가르쳐 준 방법입니다.
부팅시 cairo-clock을 바로 실행하지 않고 약간의 시간을 지연시킨 후 로딩하면 문제가 해결됩니다.

[b:3fgvu0oa]pidgin[/b:3fgvu0oa]을 예로 들어 자세히 살펴보겠습니다.

일단 Alt + F2로 pidgin을 실행시켜 "친구 목록" 창 없이 트레이로 잘 들어가는지 확인합니다.
그 다음 자신의 홈디렉토리에 [b:3fgvu0oa]~/bin[/b:3fgvu0oa] 폴더를 만들어 줍니다.

[code:3fgvu0oa]#!/bin/sh
sleep 10
pidgin &[/code:3fgvu0oa]
[b:3fgvu0oa]gedit[/b:3fgvu0oa]를 이용해서 ~/bin 폴더 안에 [b:3fgvu0oa]pidgin.sh[/b:3fgvu0oa]를 만들고 위 내용을 입력한 후 저장합니다.

파일이 만들어지면 터미널을 열고 [b:3fgvu0oa]$ chmod u+x pidgin.sh[/b:3fgvu0oa] 명령으로 실행 권한을 줍니다.
[b:3fgvu0oa]$ chmod 755 pidgin.sh[/b:3fgvu0oa] 를 사용하셔도 됩니다.

[attachment=0:3fgvu0oa]session_pidgin-.png[/attachment:3fgvu0oa]
[b:3fgvu0oa][시스템] - [기본 설정] - [세션][/b:3fgvu0oa]을 열고 위 그림과 같이 [b:3fgvu0oa]pidgin.sh[/b:3fgvu0oa] 를 등록하고 재 부팅합니다.
"친구 목록" 창이 없이 트레이로 부팅되는지 확인하고 안 되면 [b:3fgvu0oa]sleep 15[/b:3fgvu0oa] 로 변경한 다음 재부팅합니다.

다른 프로그램도 위와 같은 방법으로 지연 시간을 주면 문제 없이 실행 가능합니다.

다만 지연 시간을 정하는 조금의 삽질이 필요합니다. :slight_smile:
보통 5초, 10초, 15초 넣어 보시고 되는지 확인해 보시면 대부분 해결됩니다.

sleep 10이라 해서 부팅 시간이 10초 늘어나는 것은 아니니 걱정하지 마세요 !
리눅스는 멀티 테스킹을 하므로 로딩 순서가 바뀌고 약간의 부팅시간 지연만 있을 뿐입니다.

한 번 제대로 로딩되면 대부분 다시 재발하지는 않습니다.

[b:3fgvu0oa]완벽한 우분투를 꿈꾸며…[/b:3fgvu0oa]

오… 좋은 팁이네요.
저도 유사한 일을 겪어서 그냥 수동으로 클릭해서 실행하는데.
좋은 걸 알게되었습니다.

[quote:2y0d8y23]파일이 만들어지면 터미널을 열고 $ chmod 755 pidgin.sh 명령으로 실행 권한을 줍니다.[/quote:2y0d8y23]
전 chmod u+x 와 같은식으로 제가 무슨 권한을 어디에 주는지 알기 쉽게 쓰는걸 선호합니다.

u는 사용자 g는 그룹 o는 그외, a는 모두
+는 권한 추가 -는 권한 빼기
r은 읽기 w는 쓰기 x는 실행

모두에게서 쓰기권한을 빼고 싶다면

[code:2y0d8y23]chmod a-w filename[/code:2y0d8y23]

저엉말~ 쉽죠잉~ ㅎㅎ

[quote="tinywolf":t5kgilkl]전 chmod u+x 와 같은식으로 제가 무슨 권한을 어디에 주는지 알기 쉽게 쓰는걸 선호합니다.[/quote:t5kgilkl]글쎄요…
chmod 755 의 뜻을 알면 이게 더 쉬운데요. ^^

[quote:t5kgilkl]Many users prefer to use numeric codes, based on octal (base 8) values, to represent
permissions. Here’s what these values mean:
. 4 indicates read permission.
. 2 indicates write permission.
. 1 indicates execute permission.[/quote:t5kgilkl]
3자리 숫자에서 첫번째는 user, 두번째는 group, 세번째는 others 입니다.

따라서 chmod 755 는
user에게는 4+2+1 = 7, 따라서 읽기, 쓰기, 실행 권한이 다 주어 지는 거고,
group과 others에게는 4+1 = 5, 따라서 읽기, 실행 권한만 주어 지고, 쓰기 권한은 주기 않는 겁니다.

:D

아 8진수 숫자보다 문자가 좀 더 초보자들께는 알기 쉬울까 해서 적어본 것입니다.
전 실행권한만을 추가할 때 u+x로 자주 사용하거든요.

저도 가끔 읽기쓰기 복수의 권한 옵션을 줄 때는 8진수로 쓰기도 하지만
처음 접하시는 분들께 저런 방법도 있다고 알려드리려고 써봤습니다.

그리고 시작 프로그램 팁 정말 유용하네요.
이것저것 시작프로그램에 등록해서 잘 사용하고 있습니다~

두분 댓글 보고 누구편도 들 수 없어 고민하다 본문에 둘 다 올렸습니다.

항상 8진수를 사용하다 보니 저는 8진수가 편하지만 다시 생각해 보니
리눅스 초보자를 위해서 chmod u+x 가 이해하기 쉬울 것 같네요 !

"하노스"님 생각 또한 충분히 이해가 갑니다.
두 분의 관심 격려로 알고 다음부터 신중히 글을 쓰도록 하겠습니다. ^o^

"tinywolf"님 잘 된다고 하시니 기분 좋습니다.
혹시 나만 되는 건 아닌지 걱정했거든요 ㅎㅎㅎ