awesome/ko
awesome은 X 용, 유연한 차세대 동적 창 관리자입니다. 초기에는 고급 사용자, 개발자 등 매일 컴퓨터를 달고 살며 그래픽 환경을 세밀하게 다루고 싶어하는 이들이 이 프로그램의 제공 대상이었습니다. Lua 프로그래밍 언어로 기능을 확장했습니다.
Prerequisites
Services
Choose exactly one of:
Miscellaneous
X server
Follow the instructions on Xorg/Guide to set up the X environment.
Starting the X server
One of the following methods can be used to start X:
- Display manager: Presents the user with a graphical login screen.
- X without Display Manager: When running a single-user system, one may find display managers an unnecessary waste of resources.
설치
USE 플래그
USE flags for x11-wm/awesome A dynamic floating and tiling window manager
dbus
|
Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) |
doc
|
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally |
gnome
|
Add GNOME support |
test
|
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) |
Emerge
x11-wm/awesome을 설치하십시오:
root #
emerge --ask x11-wm/awesome
설정
시동
awesome을 시작하려면 display manager를 시작하든지, startx를 입력하십시오.
ConsoleKit 기능이 동작하는 startx 명령을 사용하려면, ConsoleKit을 설정하여 다음 파일을 만드십시오:
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session awesome
설정 파일
awesome의 기본 설정파일은 ~/.config/awesome/rc.lua에 있습니다. 각 디렉터리 또는 파일이 없다면 만들어야합니다. 기본적으로 awesome에 설정 파일을 특별히 넣었으며 /etc/xdg/awesome/rc.lua에서 찾을 수 있습니다. 이 설정 파일을 사용자의 내 폴더에 복사하십시오.
먼저 awesome/ 디렉터리를 만드십시오:
user $
mkdir -p ~/.config/awesome/
다음 rc.lua 설정 파일을 복사하십시오:
user $
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
x11-terms/xterm을 설치하지 않았다면, 이 꾸러미를 설치하든지 시스템에서 사용하는 터미널 에뮬레이터로 기본 터미널 에뮬레이터를 바꾸십시오. 아래 예제에서는 기본 터미널 에뮬레이터를 kde-apps/konsole의 일부인 konsole로 설정합니다.
-- This is used later as the default terminal and editor to run.
terminal = "konsole"
설정을 바꾸고 난 후 설정 파일에 오류가 있는지 확인해보시는 것이 좋습니다:
user $
awesome -k
✔ Configuration file syntax OK
media-gfx/feh 꾸러미로 바탕 화면 지원을 추가하십시오:
root #
emerge --ask media-gfx/feh
예를 들어 awsetbg를 사용하여 바탕 화면을 사용하려면, ~/.config/awesome/theme/theme.lua 파일을 편집하십시오.
theme.wallpaper_cmd = { "awsetbg -f .config/awesome/themes/awesome-wallpaper.png" }
또는 간단히 테마의 wallpaper 속성을 설정합니다:
theme.wallpaper = ".config/awesome/themes/awesome-wallpaper.png"
태그
awesome에서, 태그는 하나 이상의 프로그램을 실행중인 가상 데스크톱에 부여한 이름입니다. 이 태그에 개별 설정할 심볼을 할당할 수 있습니다:
-- {{{ Tags
tags = {}
for s = 1, screen.count() do
tags[s] = awful.tag({ "➊", "➋", "➌", "➍" }, s, layouts[1])
end
-- }}}
메뉴
아래는 awesome의 메뉴를 개별 설정하는 예제입니다:
-- {{{ Menu
myawesomemenu = {
{ "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awesome.conffile },
{ "reload", awesome.restart },
{ "quit", awesome.quit },
{ "reboot", "reboot" },
{ "shutdown", "shutdown" }
}
appsmenu = {
{ "urxvt", "urxvt" },
{ "sakura", "sakura" },
{ "ncmpcpp", terminal .. " -e ncmpcpp" },
{ "luakit", "luakit" },
{ "uzbl", "uzbl-browser" },
{ "firefox", "firefox" },
{ "chromium", "chromium" },
{ "thunar", "thunar" },
{ "ranger", terminal .. " -e ranger" },
{ "gvim", "gvim" },
{ "leafpad", "leafpad" },
{ "htop", terminal .. " -e htop" },
{ "sysmonitor", "gnome-system-monitor" }
}
gamesmenu = {
{ "warsow", "warsow" },
{ "nexuiz", "nexuiz" },
{ "xonotic", "xonotic" },
{ "openarena", "openarena" },
{ "alienarena", "alienarena" },
{ "teeworlds", "teeworlds" },
{ "frozen-bubble", "frozen-bubble" },
{ "warzone2100", "warzone2100" },
{ "wesnoth", "wesnoth" },
{ "supertuxkart", "supertuxkart" },
{ "xmoto" , "xmoto" },
{ "flightgear", "flightgear" },
{ "snes9x" , "snes9x" }
}
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu },
{ "apps", appsmenu },
{ "games", gamesmenu },
{ "terminal", terminal },
{ "web browser", browser },
{ "text editor", geditor }
}
})
mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
menu = mymainmenu })
-- }}}
날짜
아래는 개별 설정 날짜 형식 사용 예제입니다. 사용하는 형식 문법은 %d.%m %H:%M
입니다. 두번째 옵션값 60
은 초단위로 업데이트할 시간 간격입니다.
-- {{{ Wibox
-- Create a text-clock widget
mytextclock = wibox.widget.textclock(" %d.%m %H:%M ", 60)
-- }}}
형식 옵션을 더 알아보려면 date --help 명령을 실행하십시오.
음량 조절
음량 조절을 자동으로 처리하고 작업 표시줄에 음량 크기를 표시하려는 용도로 media-sound/volumeicon 꾸러미를 사용할 수 있습니다.
root #
emerge --ask media-sound/volumeicon
volumeicon을 ~/.xinitrc에서 자동으로 시작하게 하십시오:
volumeicon &
exec ck-launch-session dbus-launch awesome
이 방법 대신, 간편한 방법은 awesome 설정에 음량 조절 키를 바로 추가하는 것입니다:
awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer -q sset Master 2dB-") end)
awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer -q sset Master 2dB+") end)
MPD 멀티미디어 키
MPD용 멀티미디어 바로가기 키를 추가하려면 media-sound/mpc 꾸러미를 설치하십시오:
root #
emerge --ask media-sound/mpc
다음의 적절한 명령으로 awesome 설정에 멀티미디어 키를 추가하여 새로 고치십시오:
awful.key({ }, "XF86AudioNext",function () awful.util.spawn( "mpc next" ) end),
awful.key({ }, "XF86AudioPrev",function () awful.util.spawn( "mpc prev" ) end),
awful.key({ }, "XF86AudioPlay",function () awful.util.spawn( "mpc play" ) end),
awful.key({ }, "XF86AudioStop",function () awful.util.spawn( "mpc pause" ) end),
창 간격 없애기
창 간격이 눈에 띌 수 있는데, 특히 터미널 창의 경우가 눈에 띄게 두드러집니다. 다음과 같이 awful.rules.rules
테이블에 size_hints_honor = false
속성 값을 넣으면 창 간격을 없앨 수 있습니다:
awful.rules.rules = {
{ rule = { },
properties = { size_hints_honor = false, -- Remove gaps
border_width = beautiful.border_width,
border_color = beautiful.border_normal,
...}
}
}
Xephyr로 설정 점검하기
Xephyr은 클라이언트 창에서 X서버 인스턴스를 만들어 새 설정 파일을 점검할 때 쓸만한 도구입니다.
user $
Xephyr -ac -nolisten tcp -br -noreset -screen 800x600 :1
이 명령은 800x600 창을 엽니다. 이 창에서 awesome을 실행하려면 터미널을 열어 다음 명령을 실행하십시오:
user $
DISPLAY=:1.0 awesome
이 명령으로 창에서 awesome을 실행합니다.
키보드 바로가기 키
아래 바로가기 키는 자주 쓰이는 키입니다:
- mod4+mouse1 = 마우스로 클라이언트 이동
- mod4+mouse2 = 마우스로 클라이언트 크기 조절
- mod4+enter = 터미널 열기
- mod4+r = 명령 실행
- mod4+shift+c = 강제 종료
- mod4+m = 최대화
- mod4+n = 최소화
- mod4+ctrl+n = 최소화 클라이언트 복귀
- mod4+f = 최대 화면
- mod4+tab = 이전 클라이언트로 전환
- mod4+ctrl+space = 띄우기
- mod4+j = 좌측 클라이언트 강조
- mod4+k = 우측 클라이언트 강조
- mod4+shift+j = 클라이언트를 우측으로 이동
- mod4+shift+k = 클라이언트를 좌측으로 이동
- mod4+l = 바둑판 모양으로 클라이언트 크기 조절
- mod4+h = 바둑판 모양으로 클라이언트 크기 조절
- mod4+left / right = 태그 바꾸기
- mod4+1-9 = 태그 바꾸기
- mod4+shift+1-9 = 태그로 클라이언트 붙이기
awesome 기능을 더욱 편하게 하려는 Alt+Tab과 같은 개별 설정 바로가기 키도 매핑할 수 있습니다. Alt+Tab키를 이전 창으로 전환하려는 용도로 사용한다면:
-- {{{ Key bindings
globalkeys = awful.util.table.join(
...
-- alt + tab
awful.key({ "Mod1", }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end),)
-- }}}
외부 자료
- awesome 위키의 사용자 설정 파일