====== IceWM ====== IceWM — менеджер окон для [[xwindows:xwindows|X Window System]] в Unix-подобных операционных системах. Разработка IceWM началась с нуля в 1997 году, проект написан целиком на C++ и выпущен на условиях лицензии GNU LGPL. Цель проекта — создание рабочей среды с удобным и быстрым интуитивным интерфейсом с широкими возможностями для настройки пользователем. В частности, все функции графического интерфейса доступны при использовании только клавиатуры. В то же время в число задач входила максимальная «лёгкость» IceWM в плане потребляемых ресурсов компьютера — памяти и процессора. IceWM полностью соответствует i18n и поддерживает работу с русским языком. https://ice-wm.org/ http://sourceforge.net/projects/icewm [[github>bbidulock/icewm|Неофициальный, но поддерживаемый проект]] Высокая скорость работы и низкие требования к памяти позволяют успешно использовать этот продукт в решения на базе технологии [[tag:terminal_server|Терминальный сервер]]. ====== Установка ====== При ручной установке предварительно нужно [[xwindows:xwindows#установить|]] сервер X-Windows. apt install icewm xorg tango-icon-theme apt-get install -t jessie-backports icewm apt-get install xorg tango-icon-theme apt-get install -t buster-backports icewm xorg tango-icon-theme ====== Компиляция ====== FIXME Установка необходимых пакетов: apt install asciidoctor libxpm-dev #!/bin/bash cd /tmp git clone https://github.com/bbidulock/icewm.git cd icewm ./autogen.sh ./configure --prefix=/usr --sysconfdir=/etc make sudo make DESTDIR="$pkgdir" install ====== Запуск ====== [[xwindows:xwindows#updatealternativesxsessionmanager|Выбор дисплейного менеджера по умолчанию]] FIXME Запуск вручную: startx /usr/bin/icewm #startx /usr/bin/icewm-session ====== Настройки ====== FIXME Папки: |''/usr/share/icewm''|Общие настройки, темы и другие файлы| |''/etc/X11/icewm''|Настройки по умолчанию| |''~/.icewm''|Пользовательские настройки| Файлы: * keys * logout * [[#menu|menu]] * [[#startup|startup]] * toolbar * [[#preferences]] * winoptions ===== Иерархическая система меню ===== Удобно использовать технологию: [[hierarchical_menu_system:hierarchical_menu_system|Иерархическая система меню]], вот пример внешнего вида: {{:icewm:icewm_hierarchical_menu.png|}} ===== menu ===== По умолчанию меню находится в файле ''/usr/share/icewm/menu'' Также можно создать общее меню в этом файле: ''/etc/X11/icewm/menu'' Для вставки пользовательской части меню можно использовать директиву ''include'', пример: include /home/user/.icewm/menu ===== startup ===== :!: Если существует пользовательский файл ''~/.icewm/startup'' то выполняется он, а не ''/etc/X11/icewm/startup'' ( sleep 2s; xxkb )& ( sleep 2s; volumeicon)& ( sleep 2s; setxkbmap -layout "us,ru" -model "pc105" -option "grp:caps_toggle,grp_led:scroll")& На файл нужно дать права запуска для всех пользователей: chmod +x /etc/X11/icewm/startup ===== preferences ===== * ''~/.icewm/preferences'' * ''/usr/share/icewm/preferences'' ==== Скрыть TaskBar ==== ''ShowTaskBar=0'' ===== Завершение ===== Этот файл выполняется при выходе из IceWM (завершении работы). Нужно создать файл: #!/bin/bash pcmanfm --desktop-off > /dev/null 2>&1 pkill icewm-session #pkill -u $(whoami) Дать право на запуск всем пользователям: chmod +x /usr/share/icewm/icewm-logout.sh И указать его в настройках: LogoutCommand="/usr/share/icewm/icewm-logout.sh" ===== Шрифты "как в MS Windows" ===== - Выполнить действия описанные в разделе [[xwindows:xwindows#Шрифты "как в MS Windows"|X-Windows System: Шрифты "как в MS Windows"]]. - Добавить в файл ''/usr/share/icewm/preferences'' следующие значения: TitleFontNameXft="sans-serif:size=10:bold" #Название шрифта панели заголовка. MenuFontNameXft="sans-serif:size=10" #Название шрифта меню. StatusFontNameXft="sans-serif:size=12" #Название шрифта отображения статуса. QuickSwitchFontNameXft="sans-serif:size=12" #Название шрифта для окна Alt+Tab переключателя. NormalButtonFontNameXft="sans-serif:size=12" NormalTaskBarFontNameXft="sans-serif:size=12" #Название шрифта для нормального элемента панели задач. ActiveTaskBarFontNameXft="sans-serif:size=12" #Название шрифта для активного элемента панели задач. ListBoxFontNameXft="sans-serif:size=14" #Название шрифта списка окон. ToolTipFontNameXft="sans-serif:size=10" #Название шрифта для подсказок. ClockFontNameXft="sans-serif:size=11" #Название шрифта для часов на панели задач. ActiveButtonFontNameXft="sans-serif:size=11:bold" ToolButtonFontNameXft="sans-serif:size=11" NormalWorkspaceFontNameXft="sans-serif:size=11" ActiveWorkspaceFontNameXft="sans-serif:size=11" MinimizedWindowFontNameXft="sans-serif:size=11" ApmFontNameXft="monospace:size=11" InputFontNameXft="monospace:size=11" LabelFontNameXft="sans-serif:size=11" ===== Выключение и перезагрузка компьютера ===== FIXME Для этого используем возможности программы [[sudo:sudo|sudo]]. Нужно разрешить пользователю выполнять команду ''/sbin/shutdown'' без ввода пароля: Выполняем следующую команду: su -c visudo Для каждого пользователя вводим: ИМЯ_ПОЛЬЗОВАТЕЛЯ ALL = (ALL) NOPASSWD:/sbin/shutdown В файл настроек ''icewm'' нужно добавить: ShutdownCommand="sudo /sbin/shutdown -h now" RebootCommand="sudo /sbin/shutdown -r now" ===== Наборы иконок ===== apt-get install tango-icon-theme tangerine-icon-theme gnome-wine-icon-theme ====== Запуск ====== ===== Для всех ===== Нужно выполнить настройку через [[debian:alternatives|систему альтернатив в Debian]] * Для [[debian:alternatives#xwindowmanager|x-window-manager]] нужно выбрать:/usr/bin/icewm * Для [[debian:alternatives#xsessionmanager|x-session-manager]] нужно выбрать:/usr/bin/icewm-session ===== Для отдельного пользователя ===== exec icewm-session ====== Индикатор раскладки клавиатуры ====== [[xxkb:xxkb#IceWM|XXKB]] ====== Примеры использования ====== Примеры использования в: * [[pcmanfm:pcmanfm#IceWM|PCManFM]] * [[spacefm:spacefm#IceWM|SpaceFM]] {{anchor:kiosk}} ====== Киоск ====== FIXME Набор файлов для режима "киоск" ## Empty file for kiosk mode ## Пустой файл для режима "киоск" ## Empty file for kiosk mode ## Пустой файл для режима "киоск" ## Preferences for kiosk mode ## Настройки для режима "киоск" ClickToRaise=0 ClickToFocus=0 FocusOnAppRaise=1 RequestFocusOnAppRaise=1 RaiseOnFocus=1 FocusOnClickClient=1 RaiseOnClickClient=1 RaiseOnClickTitleBar=1 RaiseOnClickButton=1 RaiseOnClickFrame=1 LowerOnClickWhenRaised=0 PassFirstClickToClient=1 FocusChangesWorkspace=0 FocusOnMap=1 FocusOnMapTransient=1 FocusOnMapTransientActive=1 MapInactiveOnTop=1 PointerColormap=1 DontRotateMenuPointer=1 LimitSize=1 LimitPosition=1 LimitByDockLayer=0 ConsiderHBorder=0 ConsiderVBorder=0 ConsiderSizeHintsMaximized=1 CenterMaximizedWindows=0 HideBordersMaximized=0 SizeMaximized=0 ShowMoveSizeStatus=1 ShowWorkspaceStatus=0 MinimizeToDesktop=0 MiniIconsPlaceHorizontal=0 # 0/1 MiniIconsRightToLeft=0 MiniIconsBottomToTop=0 # 0/1 StrongPointerFocus=1 OpaqueMove=1 OpaqueResize=1 ManualPlacement=0 SmartPlacement=1 HideTitleBarWhenMaximized=0 # 0/1 CenterLarge=0 # 0/1 CenterTransientsOnOwner=1 MenuMouseTracking=1 AutoRaise=0 DelayPointerFocus=0 Win95Keys=0 ModSuperIsCtrlAlt=0 UseMouseWheel=1 ShowPopupsAbovePointer=0 ReplayMenuCancelClick=0 QuickSwitch=0 QuickSwitchToMinimized=0 QuickSwitchToHidden=0 QuickSwitchToUrgent=0 QuickSwitchToAllWorkspaces=0 QuickSwitchGroupWorkspaces=0 QuickSwitchAllIcons=0 QuickSwitchTextFirst=0 QuickSwitchSmallWindow=0 QuickSwitchMaxWidth=0 QuickSwitchVertical=1 QuickSwitchHugeIcon=0 QuickSwitchFillSelection=0 GrabRootWindow=1 SnapMove=0 EdgeSwitch=0 HorizontalEdgeSwitch=0 VerticalEdgeSwitch=0 ContinuousEdgeSwitch=0 AutoReloadMenus=1 ArrangeWindowsOnScreenSizeChange=1 ShowTaskBar=0 TaskBarAtTop=0 TaskBarKeepBelow=0 TaskBarAutoHide=1 TaskBarFullscreenAutoShow=0 TaskBarShowClock=0 TaskBarShowAPMStatus=0 TaskBarShowAPMAuto=0 TaskBarShowAPMTime=0 TaskBarShowAPMGraph=0 TaskBarShowMailboxStatus=0 TaskBarMailboxStatusBeepOnNewMail=0 TaskBarMailboxStatusCountMessages=0 TaskBarShowWorkspaces=0 TaskBarShowWindows=0 TaskBarShowShowDesktopButton=0 ShowEllipsis=0 TaskBarShowTray=0 TrayShowAllWindows=0 TaskBarShowTransientWindows=0 TaskBarShowAllWindows=0 TaskBarShowWindowIcons=0 TaskBarShowStartMenu=0 TaskBarShowWindowListMenu=0 TaskBarShowCPUStatus=0 CPUStatusShowRamUsage=0 CPUStatusShowSwapUsage=0 CPUStatusShowAcpiTemp=0 CPUStatusShowCpuFreq=0 TaskBarShowMEMStatus=0 TaskBarShowNetStatus=0 TaskBarShowCollapseButton=0 TaskBarDoubleHeight=0 # Place workspace pager on left, not right # TaskBarWorkspacesLeft=1 # 0/1 # Show a mini desktop preview on each workspace button # PagerShowPreview=0 # 0/1 # Draw window icons inside large enough preview windows on pager (if PagerShowPreview=1) # PagerShowWindowIcons=1 # 0/1 # Draw even minimized windows as unfilled rectangles (if PagerShowPreview=1) # PagerShowMinimized=1 # 0/1 # Draw border around workspace buttons (if PagerShowPreview=1) # PagerShowBorders=1 # 0/1 # Show number of workspace on workspace button (if PagerShowPreview=1) # PagerShowNumbers=1 # 0/1 # Execute taskbar applet commands (like MailCommand, ClockCommand, ...) on single click # TaskBarLaunchOnSingleClick=1 # 0/1 # Allow mouse actions on client windows (buggy with some programs) # ClientWindowMouseActions=1 # 0/1 ShowProgramsMenu=0 ShowSettingsMenu=0 ShowFocusModeMenu=0 ShowThemesMenu=0 ShowLogoutMenu=0 ShowHelp=0 # 0/1 ShowLogoutSubMenu=0 ShowAbout=0 ShowRun=0 ShowWindowList=0 AllowFullscreen=1 FullscreenUseAllMonitors=0 EnableAddressBar=0 ShowAddressBar=0 MultiByte=1 ConfirmLogout=1 # 0/1 # Don't cut client windows by shapes set trough frame corner pixmap # ShapesProtectClientWindow=1 # 0/1 # Use double buffering when redrawing the display # DoubleBuffer=1 # 0/1 # Disable use of new XRANDR API for dual head (nvidia workaround) # XRRDisable=0 # 0/1 # Delay fuzziness, to allow merging of multiple timer timeouts into one (notebook power saving) # DelayFuzziness=10 # [0-100] # Activate workaround for Java7 Swing/AWT focus issue # ActivateJava7FocusHack=0 # 0/1 # Pointer motion distance before click gets interpreted as drag # ClickMotionDistance=4 # [0-32] # Delay before click gets interpreted as drag # ClickMotionDelay=200 # [0-2000] # Multiple click time # MultiClickTime=400 # [0-5000] # Delay before activating menu items # MenuActivateDelay=40 # [0-5000] # Delay before activating menu submenus # SubmenuMenuActivateDelay=300 # [0-5000] # Maximal width of popup menus, 2/3 of the screen's width if set to zero # MenuMaximalWidth=0 # [0-16384] # Delay before tooltip window is displayed # ToolTipDelay=1000 # [0-5000] # Time before tooltip window is hidden (0 means never # ToolTipTime=0 # [0-60000] # Delay before task bar is hidden # AutoHideDelay=300 # [0-5000] # Delay before task bar is shown # AutoShowDelay=500 # [0-5000] # Delay before windows are auto raised # AutoRaiseDelay=400 # [0-5000] # Resistance in pixels when trying to move windows off the screen (10000 = infinite) # EdgeResistance=32 # [0-10000] # Delay for pointer focus switching # PointerFocusDelay=200 # [0-1000] # Distance in pixels before windows snap together # SnapDistance=8 # [0-64] # Screen edge workspace switching delay # EdgeSwitchDelay=600 # [0-5000] # Inital scroll bar autoscroll delay # ScrollBarStartDelay=500 # [0-5000] # Scroll bar autoscroll delay # ScrollBarDelay=30 # [0-5000] # Auto scroll start delay # AutoScrollStartDelay=500 # [0-5000] # Auto scroll delay # AutoScrollDelay=60 # [0-5000] # Time before workspace status window is hidden # WorkspaceStatusTime=2500 # [0-2500] # Bitmask of root window button click to use in window manager # UseRootButtons=255 # [0-255] # Bitmask of buttons that raise the window when pressed # ButtonRaiseMask=1 # [0-255] # Desktop mouse-button click to show the window list menu # DesktopWinMenuButton=0 # [0-20] # Desktop mouse-button click to show the window list # DesktopWinListButton=2 # [0-20] # Desktop mouse-button click to show the root menu # DesktopMenuButton=3 # [0-20] # TitleBar mouse-button double click to maximize the window # TitleBarMaximizeButton=1 # [0-5] # TitleBar mouse-button double click to rollup the window # TitleBarRollupButton=2 # [0-5] # Preselect to Cancel (0) or the OK (1) button in message boxes # MsgBoxDefaultAction=0 # [0-1] # Delay between new-mail checks. (seconds) # MailCheckDelay=30 # [0-86400] # Delay between CPU Monitor samples in ms # TaskBarCPUDelay=500 # [10-3600000] # Width of CPU Monitor # TaskBarCPUSamples=20 # [2-1000] # Width of Memory Monitor # TaskBarMEMSamples=20 # [2-1000] # Delay between Memory Monitor samples in ms # TaskBarMEMDelay=500 # [10-3600000] # Width of Net Monitor # TaskBarNetSamples=20 # [2-1000] # Delay between Net Monitor samples in ms # TaskBarNetDelay=500 # [10-3600000] # default number of tasks in taskbar # TaskbarButtonWidthDivisor=3 # [1-25] # Width of APM Monitor # TaskBarApmGraphWidth=10 # [1-1000] # Primary screen for xinerama (taskbar, ...) # XineramaPrimaryScreen=0 # [0-63] # Number of seconds the taskbar app will blink when requesting focus (0 = forever) # FocusRequestFlashTime=0 # [0-86400] # Taskbar blink interval (ms) when requesting focus (0 = blinking disabled) # FocusRequestFlashInterval=250 # [0-30000] # Minimal number of themes after which the Themes menu becomes nested (0=disabled) # NestedThemeMenuMinNumber=15 # [0-1234] # Delay between power status updates (seconds) # BatteryPollingPeriod=10 # [2-3600] NetWorkAreaBehaviour=0 # Icon search path (colon separated) # IconPath="/usr/share/icons:/usr/share/pixmaps" MailBoxPath="" MailCommand="" MailClassHint="" NewMailCommand="" LockCommand=""" ClockCommand ="" ClockClassHint="" RunCommand="" OpenCommand="" TerminalCommand="" LogoutCommand="" LogoutCancelCommand="" # ShutdownCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl poweroff; } || sudo -n /sbin/halt"" # RebootCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl reboot; } || sudo -n /sbin/reboot"" CPUStatusCommand="" CPUStatusClassHint="" NetStatusCommand="" NetStatusClassHint="" AddressBarCommand="" NetworkStatusDevice="" TimeFormat="" TimeFormatAlt="" DateFormat="" XRRPrimaryScreenName="" AcpiIgnoreBatteries="" MouseWinMove="" MouseWinSize="" MouseWinRaise="" KeyWinRaise="" KeyWinOccupyAll="" KeyWinLower="" KeyWinClose="" KeyWinRestore="" KeyWinPrev="" KeyWinNext="" KeyWinMove="" KeyWinSize="" KeyWinMinimize="" KeyWinMaximize="" KeyWinMaximizeVert="" KeyWinMaximizeHoriz="" KeyWinFullscreen="" KeyWinHide="" KeyWinRollup="" KeyWinMenu="" KeyWinArrangeN="" KeyWinArrangeNE="" KeyWinArrangeE="" KeyWinArrangeSE="" KeyWinArrangeS="" KeyWinArrangeSW="" KeyWinArrangeW="" KeyWinArrangeNW="" KeyWinArrangeC="" KeySysSwitchNext="" KeySysSwitchLast="" KeySysWinNext="" KeySysWinPrev="" KeySysWinMenu="" KeySysDialog="" KeySysMenu="" KeySysWindowList="" KeySysWinListMenu="" KeySysAddressBar="" KeySysWorkspacePrev="" KeySysWorkspaceNext="" KeySysWorkspaceLast="" KeySysWorkspacePrevTakeWin="" KeySysWorkspaceNextTakeWin="" KeySysWorkspaceLastTakeWin="" KeySysWorkspace1="" KeySysWorkspace2="" KeySysWorkspace3="" KeySysWorkspace4="" KeySysWorkspace5="" KeySysWorkspace6="" KeySysWorkspace7="" KeySysWorkspace8="" KeySysWorkspace9="" KeySysWorkspace10="" KeySysWorkspace11="" KeySysWorkspace12="" KeySysWorkspace1TakeWin="" KeySysWorkspace2TakeWin="" KeySysWorkspace3TakeWin="" KeySysWorkspace4TakeWin="" KeySysWorkspace5TakeWin="" KeySysWorkspace6TakeWin="" KeySysWorkspace7TakeWin="" KeySysWorkspace8TakeWin="" KeySysWorkspace9TakeWin="" KeySysWorkspace10TakeWin="" KeySysWorkspace11TakeWin="" KeySysWorkspace12TakeWin="" KeySysTileVertical="" KeySysTileHorizontal="" KeySysCascade="" KeySysArrange="" KeySysArrangeIcons="" KeySysMinimizeAll="" KeySysHideAll="" KeySysUndoArrange="" KeySysShowDesktop="" KeySysCollapseTaskBar="" WorkspaceNames=" " DesktopBackgroundCenter=0 SupportSemitransparency=1 DesktopBackgroundScaled=0 DesktopBackgroundColor="" DesktopBackgroundImage="" DesktopTransparencyColor="" DesktopTransparencyImage="" TitleFontNameXft="sans-serif:size=10:bold" MenuFontNameXft="sans-serif:size=10" StatusFontNameXft="sans-serif:size=12" QuickSwitchFontNameXft="sans-serif:size=12" NormalButtonFontNameXft="sans-serif:size=12" NormalTaskBarFontNameXft="sans-serif:size=12" ActiveTaskBarFontNameXft="sans-serif:size=12" ListBoxFontNameXft="sans-serif:size=14" ToolTipFontNameXft="sans-serif:size=10" ClockFontNameXft="sans-serif:size=11" ActiveButtonFontNameXft="sans-serif:size=11:bold" ToolButtonFontNameXft="sans-serif:size=11" NormalWorkspaceFontNameXft="sans-serif:size=11" ActiveWorkspaceFontNameXft="sans-serif:size=11" MinimizedWindowFontNameXft="sans-serif:size=11" ApmFontNameXft="monospace:size=11" InputFontNameXft="monospace:size=11" LabelFontNameXft="sans-serif:size=11" ====== Ссылки ====== [[wpru>IceWM]] [[http://www.opennet.ru/docs/RUS/icewm/|IceWM Документация на русском]] [[http://www.icewm.org/FAQ/IceWM-FAQ.html#toc11|Tools for IceWM]] [[http://www.opennet.ru/prog/info/39.shtml|Icewm ссылки]] [[http://vlsu.blogspot.ru/2011/07/icewm.html|Оконный менеджер IceWM]] [[http://www.pcweek.ru/foss/article/detail.php?ID=110882|Изучаем Linux: IceWM]] [[http://habrahabr.ru/sandbox/46236/|IceWM — берём в руки напильник]] [[http://box-look.org/index.php?xcontentmode=7311|IceWM Themes]] [[http://forums.fedoraforum.org/archive/index.php/t-282433.html|fedoraforum.org: IceWM install and setup guide. Custom logout script]] [[https://kmandla.wordpress.com/projects/lookalike-windows-xp-classic/|Lookalike Windows XP Classic]] {{tag>Linux Debian X-Windows}}