awesome

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Awesome and the translation is 100% complete.


Az awesome egy nagyon jól beállítható, következő generációs, dinamikus window manager az X számára. Elsősorban haladó felhasználóknak, fejlesztőknek és mindenkinek másnak is szól, akik napi számítógépes feladatokat végeznek, és akik precíz beállított irányítást szeretnének a grafikus környezetük felett. Az awesome a Lua programozási nyelv használatával bővíthető.

Előfeltételek

Szolgáltatások

Válasszon pontosan egyet a következők közül:

  • elogind: Önálló logind szoftvercsomag, amely a systemd projektből van kivéve külön formában, hogy használható legyen az OpenRC init rendszerrel, vagy más init rendszerekkel is.
  • systemd: A systemd munkamenet követőjét használja. A systemd felhasználóinak itt nincs szükségük további lépésekre.

Egyéb

  • D-Bus: Lehetővé teszi a D-Bus üzenetküldő rendszer használatát.
  • polkit: Lehetővé teszi a polkit keretrendszer használatát a rendszerszintű szolgáltatások jogosultságainak szabályozására.
  • udisks: Lehetővé teszi néhány tárhellyel kapcsolatos szolgáltatás támogatását.

X-szerver

Kövesse az Xorg/Útmutató leírásában található utasításokat az X környezet beállításának érdekében.

X-szerver elindítása

Az alábbi módszerek egyikével indító el az X:

  • Display manager: Grafikus bejelentkezési képernyőt biztosít a felhasználó számára.
  • X without Display Manager: Egyfelhasználós rendszeren a display managerek fölösleges erőforráspazarlásnak tűnhetnek.

Telepítés

USE jelölőzászlók

USE flags for x11-wm/awesome 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

Telepítse a x11-wm/awesome szoftvercsomagot:

root #emerge --ask x11-wm/awesome

Beállítás

Elindítás

Az awesome elindításához tekintse meg a Az X szerver elindítása bekezdést, vagy egyszerűen használja a startx parancsot.

A startx használatához elogind támogatással állítsa be a elogind programot, és hozza létre a következő fájlt:

FILE ~/.xinitrc
exec dbus-launch --sh-syntax --exit-with-session awesome

Beállításfájl

Az alapértelmezett beállításfájl az awesome esetében a ~/.config/awesome/rc.lua helyen található. Ha nem létezik egy ilyen könyvtár vagy fájl, akkor létre kell azt hozni. Egy alapértelmezett, gyárilag biztosított beállításfájl a awesome szoftvercsomaggal együtt kerül terjesztésre, amely a /etc/xdg/awesome/rc.lua helyen található. Másolja ezt a beállításfájlt a felhasználó saját könyvtárába.

Először hozza létre az awesome/ könyvtárat:

user $mkdir -p ~/.config/awesome/

Ezután másolja át a rc.lua beállításfájlt:

user $cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua

Ha a x11-terms/xterm szoftvercsomag nincs telepítve, akkor telepítse azt, vagy állítsa be az elérhető parancssort az alapértelmezett parancssorként. Az alábbiakban az alapértelmezett parancssor a konsole, amely a kde-apps/konsole szoftvercsomagnak a részét képezi.

FILE ~/.config/awesome/rc.lua
-- This is used later as the default terminal and editor to run.
terminal = "konsole"

A módosítások után érdemes ellenőrizni a beállításfájlt a hibák szempontjából:

user $awesome -k
✔ Configuration file syntax OK

A media-gfx/feh szoftvercsomag segítségével adja hozzá a háttérkép támogatást:

root #emerge --ask media-gfx/feh

Például, ha a awsetbg segítségével szeretné beállítani a háttérképet, akkor szerkessze a ~/.config/awesome/theme/theme.lua fájlt:

FILE ~/.config/awesome/theme/theme.luaEgy háttérkép beállítása az awsetbg segítségével
theme.wallpaper_cmd = { "awsetbg -f .config/awesome/themes/awesome-wallpaper.png" }

Vagy egyszerűen állítsa be a háttérkép tulajdonságát a témában:

FILE ~/.config/awesome/theme/theme.luaEgy háttérkép beállítása a háttérkép tulajdonság használatával
theme.wallpaper = ".config/awesome/themes/awesome-wallpaper.png"

Címkék

Az awesome esetében a címkék olyan virtuális asztalokat jelentenek, amelyek alatt egy vagy több alkalmazás fut. Lehetőség van egyedi szimbólumok hozzárendelésére ezekhez a címkékhez:

FILE ~/.config/awesome/rc.lua
-- {{{ Tags
tags = {}
for s = 1, screen.count() do
    tags[s] = awful.tag({ "➊", "➋", "➌", "➍" }, s, layouts[1])
end
-- }}}

Menü

Az alábbiakban egy egyedi awesome menü példája látható:

FILE ~/.config/awesome/rc.lua
-- {{{ 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átum

Az alábbiakban egy egyedi dátumformátum használatának példája található. A formátum szintaxisa: %Y-%m-%d %H:%M. A második opció, 60, az frissítési intervallum másodpercben.

FILE ~/.config/awesome/rc.luaSzöveges óra widget létrehozása
-- {{{ Wibox
-- Create a text-clock widget
mytextclock = wibox.widget.textclock(" %Y-%m-%d %H:%M ", 60)
-- }}}
Note
További információért a formátum opciókról kapcsolatban, futtassa a date --help parancsot.

Hangerő szabályozása

A media-sound/volumeicon szoftvercsomag automatikusan képes kezelni a hangerőgombokat, és egy tálcaikon segítségével jeleníti meg a hangerőszintet.

root #emerge --ask media-sound/volumeicon

Indítsa automatikusan a volumeicon alkalmazást a ~/.xinitrc fájlon belül:

FILE ~/.xinitrcA volumeicon indítása a háttérben az X indításakor
volumeicon &
exec [...]

Alternatívaként egy egyszerű módszer, ha a hangerőgombokat közvetlenül az awesome beállításába adja hozzá:

FILE ~/.config/awesome/rc.luaHangerőgombok
awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer -q sset Master 5%-") end)
awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer -q sset Master 5%+") end)

MPD multimédiás billentyűgombok

Telepítse a media-sound/mpc szoftvercsomagot, hogy multimédiás billentyűkiosztásokat adjon hozzá az MPD szolgáltatáshoz:

root #emerge --ask media-sound/mpc

Ezután frissítse az awesome beállítását annak érdekében, hogy a multimédiás billentyűket a megfelelő parancsokhoz rendelhesse hozzá:

FILE ~/.config/awesome/rc.luaHangerőbillentyű hozzárendelések
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),

Ablakrések eltávolítása

A terminálablakok között látható rések eltüntethetők azzal, hogy a size_hints_honor = false tulajdonságot hozzáadja az awful.rules.rules táblázathoz, például így:

FILE ~/.config/awesome/rc.luaA size_hints_honor tulajdonság beállítása
awful.rules.rules = {
    { rule = { },
      properties = { size_hints_honor = false, -- Remove gaps
                     border_width = beautiful.border_width,
                     border_color = beautiful.border_normal,
      ...

Beállítás hibakeresése az Xephyr segítségével

Az Xephyr hasznos eszköz az új beállításfájlok hibakereséséhez, mivel egy X-szerver példányt hoz létre egy kliens ablakban.

user $Xephyr -ac -nolisten tcp -br -noreset -screen 800x600 :1

Ez a parancs megnyit egy 800x600 méretű ablakot. Az awesome futtatásához nyisson meg egy új terminált, és futtassa a következőt parancsot:

user $DISPLAY=:1.0 awesome

Ez az awesome ablakkezelőt egy ablakon belül futtatja.

Billentyűparancsok

Ezek a leghasznosabb alapértelmezett billentyűparancsok:

  • Super+Mouse1 = Egérrel mozgatja az ablakot.
  • Super+Mouse2 = Egérrel átméretezi az ablakot.
  • Super+Enter = Parancssor megnyitása.
  • Super+r = Parancs futtatása.
  • Super+Shift+c = Bezárás.
  • Super+m = Maximalizálás.
  • Super+n = Minimalizálás.
  • Super+Ctrl+n = Minimalizált ablakok visszaállítása.
  • Super+f = Teljes képernyő.
  • Super+Tab = Előző ablakra váltás.
  • Super+Ctrl+Space = Lebegőmód.

Super+j = Bal oldali ablak kijelölése. Super+k = Jobb oldali ablak kijelölése. Super+Shift+j = Ablak mozgatása jobbra. Super+Shift+k = Ablak mozgatása balra.

Super+l = Csempézett ablak átméretezése. Super+h = Csempézett ablak átméretezése.

Super+left / right = Címke váltása. Super+1-9 = Címke váltása. Super+Shift+1-9 = Ablak áthelyezése a címkére.

Egyéni billentyűkiosztások, például a Alt+Tab, beállíthatóak, hogy az awesome használata még élvezetesebb legyen. Például a Alt+Tab használatához az előző ablakra váltáshoz:

FILE ~/.config/awesome/rc.luaAlt-TAB billentyűgombok hozzárendelése
-- {{{ 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),
-- }}}

Külső források