노트북의 하드웨어 구성 (도킹 & 언도킹 모드)

nuyod의 이미지

노트북을 사용중입니다. IBM X40 모델인데요.
밖에서는 노트북에 밧데리만 붙여서 가지고 다닙니다.

집에서 사용할 때는 데탑을 팔아버리고 (Mac mini를 사려고 했는데 맘이 바뀌어서 mp3플레이어를 사려고 합니다. -_-)
여기에 붙어있던 하드웨어들을 울트라베이에 붙여놓고 사용하려고 합니다.
프린터, 외장하드, 키보드, 마우스, 스피커, 모니터 등인데 커널을 두 개 만들어서 부팅하는 것까지는 해놓았습니다.

헌데 문제는 X 모니터 설정이 만만치가 않네요.
듀얼까지는 필요없고요. 집에서는 데탑에 붙어있던 놈만을 사용하려고 합니다.
X시작시 매번 설정을 바꿔줄 수도 없는 노릇이고 편리한 팁 없을까요?

비단 이 문제가 아니더라도 하드웨어 구성이 자주 바뀌는 경우 KLDP유저님들은 어떻게 사용하시는 지요?

cinsk의 이미지

일단 몇 가지 가정을 해 보겠습니다:

첫째, 달라지는 사양은 모니터 하드웨어 뿐이다.
둘째, 원하는 것은, X에서 해상도 변경이다.
세째, xdm을 쓰지 않고, console로 login해서 startx로 띄우는 스타일이다.
네째, 두개의 X 설정 파일을 이미 준비해 두었다, 하나는 모바일용, xorg.conf-mobile이고, 하나는 도킹용 xorg.conf-docked이다. 모두 /etc/X11/에 존재한다.

일단. startx는 서버 옵션을 지정할 때 "-- -서버옵션"꼴을 씁니다. 따라서 설정 파일을 다른 것을 불러 올 수 있는 서버 옵션인 "-config filename"을 쓰면 됩니다.

startx -- -config filename

그런데, 보안 때문인지? root가 아닌 상태에서 -config를 쓰려면, filename에 절대 경로를 쓸 수 없으며, 상대 경로라도 ".."를 쓸 수 없는 것으로 알고 있습니다.
그래서 config file이 /etc/X11에 있는 경우는 먼저 "cd"로 그쪽으로 가서 실행하면 됩니다. 즉 상황에 따라 X를 시작할 때 다음 두 방법 중 하나를 씁니다:

cd /etc/X11 && startx -- -config xorg.conf-mobile cd /etc/X11 && startx -- -config xorg.conf-docked

이걸 자동으로 하고 싶으면, 글쎄요.. 일단 커널을 두 개를 준비하셨다니, 커널 파일 이름이 다르겠고.. (먼저 "uname -r"이나 기타 옵션을 써서 다른 이름이 보고되는지 확인 후), mobile용 커널은 "uname -r" 했을 때 2.6.10-mobile이고, docking 한 후 커널은 "2.6.10-docked"라고 합시다.
그러면 아래와 같은 script를 만들 수 있겠죠.

#!/bin/bash
kname=`uname -r`

if [ "$kname" = "2.6.10-mobile" ]; then
  cd /etc/X11 && startx -- -config xorg.conf-mobile;
else
  cd /etc/X11 && startx -- -config xorg.conf-docked;
fi

실험해 보지는 않았습니다. :)

참, GNOME을 쓰신다면 X를 띄우기 전에 gconftool-2와 같은 유틸리티로
"/desktop/gnome/screen/default/0/resolution"을 바꿔서 다른 해상도를 얻는게 가능할 것 같습니다. 역시 테스트 안해봤습니다. :D

또, xdm이나 gdm과 같은 display manager를 쓰신다면 (즉, 부팅후 바로 X가 띄워지는 형태), 좀 다른 문제일 것 같습니다. 아마도, display manager의 configuration을 좀 손 봐야 할 듯.. 이건 잘 모르겠군요..

그럼 도움이 되었기를 바라며..

cinsk의 이미지

한가지더, 위 script에서 "uname -r"을 비교하는 부분은 별로 좋지 않습니다. 커널 버전이 바뀔 수도 있고... 그래서 mobile이나 docked가 들어가 있는지만 확인하는 게 더 나을 것 같군요.

#!/bin/bash
kname=`uname -r`

if echo "$kname" | grep "mobile" >& /dev/null; then
  cd /etc/X11 && startx -- -config xorg.conf-mobile;
else
  cd /etc/X11 && startx -- -config xorg.conf-docked;
fi
nuyod의 이미지

이렇게 자세한 답변을... 너무 고맙습니다.
가려운 곳을 팍팍 긁어주시네요.

오늘도 역시 알아야 할 것들이 너무나 많다는 것을 느꼈습니다. :oops:
당장 쉘 프로그래밍부터 해봐야겠습니다.

--
오늘 하루를 즐겁게...

cdpark의 이미지

그런데 dock되었을 때 커널까지 바꾸는 건 좀 오버 아닌가요?

hotplug 등의 프로그램으로 자동으로 module을 올렸다내렸다하는게 어덜가요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.