kamikazow / kshutdown Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
<!DOCTYPE html> <html lang="en"> <head> <title>KShutdown - README</title> <meta charset="UTF-8" /> <style type="text/css"> body { background-color: white; font-family: sans-serif; margin-left: 5%; margin-right: 5%; padding-left: 5%; padding-right: 5%; } code, pre { background-color: #eeeeee; font-size: larger; padding: 2px; } h2 { border-bottom: 2px dashed #009900; color: #009900; margin-top: 2em; padding-bottom: 4px; } h4 { color: #990000; } table { border: 1px solid gray; border-collapse: collapse; } td { padding: 8px; } td.build { background-color: #EEEEEE; font-weight: bold; } td.file_list { vertical-align: top; } td.file_list ul { margin: 0px; padding-left: 1em; } td.file_list li { font-family: monospace; } td.new:before { color: orange; content: "New! "; } tr:nth-child(odd) td.build { background-color: #FAFAFA; } td.header, thead td { background-color: gray; color: white; font-weight: bold; text-align: center; } td.na { background-color: #BFD9FF; text-align: center; } tr:nth-child(odd) td.na { background-color: #D6E7FF; } td.obsolete:after { color: darkgray; content: " (obsolete)"; } td.ok { background-color: #D8E8C2; text-align: center; } tr:nth-child(odd) td.ok { background-color: #E5F0D6; } td.ok:hover { background-color: #FFFFBF !important; cursor: help; } td.test { background-color: #FFD9B0; text-align: center; } tr:nth-child(odd) td.test { background-color: #FFE6CC; } td.wip { background-color: #F9CCCA; text-align: center; } tr:nth-child(odd) td.wip { background-color: #FBE0DF; } table#build_table td { border: 1px solid gray; } table#supported_table { width: 100%; } </style> </head> <body> <h1>KShutdown™ - README</h1> <p>A graphical shutdown utility for Linux and Windows</p> <p>© Konrad Twardowski</p> <p> Visit <a href="https://kshutdown.sourceforge.io/">KShutdown Home Page</a> and <a href="https://sourceforge.net/p/kshutdown/wiki/Home/">Wiki</a> for more info. </p> <h2>Table of Contents</h2> <ul> <li><a href="#kdevsqt">What's KF5/Qt Build?</a></li> <li><a href="#kde4linux">KF5 Build @ Linux</a></li> <li><a href="#qt4linux">Qt Build @ Linux</a></li> <li><a href="#qt4windows">Qt Build @ Windows</a></li> <li><a href="#qthaiku">Qt Build @ Haiku</a></li> <li><a href="#common_compilation_errors">Common Compilation Errors</a></li> <li><a href="#supported">Supported Functions/Platforms</a></li> <li><a href="#issues">Known Issues/FAQ</a></li> <li> <a href="https://sourceforge.net/p/kshutdown/wiki/Credits/">Credits</a> | <a href="https://kshutdown.sourceforge.io/contact.html">Support</a> | <a href="https://www.gnu.org/licenses/gpl.html">License</a> (GPL) </li> </ul> <h2 id="kdevsqt">What's KF5/Qt Build?</h2> <table id="build_table"> <thead> <tr> <td></td> <td>KF5 Build</td> <td>Qt Build</td> <td>Qt Build (Windows)</td> </tr> </thead> <tbody> <!-- TODO: single-instance difference --> <tr> <td class="header">Summary</td> <td>A KShutdown version compiled using KDE Frameworks 5 libraries</td> <td colspan="2">A KShutdown version compiled without any KDE libraries (Qt only)</td> </tr> <tr> <td class="header">Additional Features</td> <td>Better visual and functional integration with KDE, better User Interface elements and standard dialog windows, global and local keyboard shortcuts configuration, customizable notifications (e.g. sounds), improved localization, a more reliable system tray/notification icon (KF5 only).</td> <td colspan="2">None (just plain Qt)</td> </tr> <tr> <td class="header">Compilation Script</td> <td>./Setup-kf5.sh</td> <td>./Setup-qt4.sh or ./Setup-qt5.sh</td> <td>Setup-qt4.bat or ./Setup-wine.sh</td> </tr> <tr> <!-- TODO: add exact instructions: package names, commands, etc. --> <td class="header">Required Libraries</td> <td>Qt5Widgets, Qt5DBus, base KF5 libraries (see "src/CMakeLists.txt" for details)</td> <td> Qt 4: QtGui, QtDBus, QtCore (Ubuntu packages: libqtgui4, libqt4-dbus)<br /> <br /> Qt 5: Qt5Widgets, Qt5DBus, Qt5Gui, Qt5Core </td> <td>See: <a href="README.html#qt4windows">Qt Build @ Windows</a></td> </tr> <tr> <td class="header">Menu Shortcut Name</td> <td>KShutdown</td> <td>KShutdown<b>/Qt</b></td> <td>KShutdown</td> </tr> <tr> <td class="header" id="configurationfiles">Configuration Files</td> <td class="file_list"> <ul> <li>~/.local/share/kshutdown/extras/</li> <li>~/.config/kshutdown.notifyrc</li> <li>~/.config/kshutdownrc</li> </ul> <p>Note: You can manually import existing configuration from ~/.kde directory:</p> <ul> <li>~/.kde/share/apps/kshutdown/extras/</li> <li>~/.kde/share/config/kshutdown.notifyrc</li> <li>~/.kde/share/config/kshutdownrc</li> </ul> </td> <td class="file_list"> <ul> <li>~/.config/kshutdown.sf.net/KShutdown.conf</li> <li>~/.local/share/data/kshutdown.sf.net/KShutdown/extras/ (Qt 4)</li> <li>~/.local/share/kshutdown.sf.net/KShutdown/extras/ (Qt 5)</li> </ul> <p>Note: Does not apply to the portable version.</p> </td> <td class="file_list"> <ul> <li>%localappdata%\kshutdown.sf.net\KShutdown\extras\ (Tip: You can open this %localappdata%... path directly in Explorer)</li> <li>Windows Registry (HKEY_CURRENT_USER\SOFTWARE\kshutdown.sf.net\KShutdown)</li> </ul> <p>Note: Does not apply to the portable version.</p> </td> </tr> <tr> <td class="header">Installed Files</td> <td class="file_list"> <ul> <li>/usr/share/applications/kshutdown.desktop</li> <li>/usr/share/icons/hicolor/*/actions/kshutdown.*</li> <li>/usr/share/knotifications5/kshutdown.notifyrc</li> <li>/usr/share/kshutdown/extras/**</li> <li>/usr/share/locale/**/kshutdown.mo</li> </ul> <p>Note: After migration from KDE 4 version to KF 5 version, you can optionally remove the old files (if any):</p> <ul> <li>/usr/share/applications/kde4/kshutdown.desktop</li> <li>/usr/share/kde4/apps/kshutdown/extras/**</li> <li>/usr/share/kde4/apps/kshutdown/kshutdown.notifyrc</li> </ul> </td> <td class="file_list"> <ul> <li>/usr/share/applications/kshutdown-qt.desktop</li> <li>/usr/share/icons/hicolor/*/actions/kshutdown.*</li> </ul> </td> <td class="file_list"> <ul> <li>%ProgramFiles(x86)%\KShutdown or %ProgramFiles%\KShutdown (as installed by NSIS)</li> </ul> </td> </tr> <tr> <td class="header">Default Program Location</td> <td>/usr/bin/kshutdown</td> <td>/usr/bin/kshutdown<b>-qt</b></td> <td>kshutdown.exe</td> </tr> <tr> <td class="header"></td> <td class="header" colspan="4">Developer Info</td> </tr> <tr> <td class="header">C++ #define</td> <!-- TODO: remove KS_NATIVE_KDE from the code --> <td><code>KS_NATIVE_KDE</code> and <code>KS_KF5</code></td> <td colspan="2"><code>KS_PURE_QT</code></td> </tr> <tr> <td class="header">Build System</td> <td><a href="http://www.cmake.org/">CMake</a> (CMakeLists.txt files)</td> <td colspan="2"><a href="http://qt-project.org/doc/qt-4.8/qmake-manual.html">QMake</a> (src/src.pro file) or CMake (experimental)</td> </tr> <tr> <td class="header">Language Translation System (input: po/*.po)</td> <td>Gettext (output: build.tmp/po/*.mo)</td> <td>Gettext (output: src/i18n/*.qm), kshutdown.qrc</td> <td>TODO:</td> </tr> </tbody> </table> <p>See <a href="#supported">Supported Functions/Platforms</a> table for more info.</p> <h2 id="kde4linux">TODO: KDE Build @ Linux</h2> <h3>Minimal Requirements</h3> <ol> <li>KDE 4.7+</li> <li>Qt 4.8+ or Qt 5.x</li> </ol> <h3>Compilation & Installation</h3> <ol> <li>Additional requirements: installed <code>"kdelibs-dev"</code> package, CMake, and Gettext Utilities</li> <li>To compile and install KShutdown run: <code>./Setup-kde4.sh</code></li> <li>To change the installation directory (prefix) run: <code>./Setup-kde4.sh "/your/prefix/dir"</code></li> <li>Clang support (an alternative C++ compiler): <ul> <li><code>export CXX=/usr/bin/clang++</code></li> <li><code>export CXXFLAGS=-march=i686</code> (in case of <i>Illegal Instruction</i> errors on some hardware)</li> <li>Go to step 2.</li> </ul> </li> </ol> <h3>Compilation & Installation (alternative method; for geeks and nerds only)</h3> <p> <i>BUILDTYPE</i> can be <code>Release</code> or <code>Debug</code>. You can change the installation directory (prefix) by setting the <code>CMAKE_INSTALL_PREFIX</code> environment variable. To display default prefix for KDE applications, run <code>kde4-config --prefix</code>. </p> <ol> <li>Create output directory: <code>mkdir build && cd build</code></li> <li>Generate Makefiles: <code>cmake -DCMAKE_BUILD_TYPE=<i>BUILDTYPE</i> -DCMAKE_INSTALL_PREFIX="/usr/local" ..</code></li> <li>Compile: <code>make</code></li> <li>Make coffee</li> <li>Install: <code>make install</code></li> </ol> <h2 id="qt4linux">Qt Build @ Linux</h2> <p><b>Note:</b> Some functions may be unavailable in this build. See <a href="#supported">Qt Build</a> table for more info.</p> <h3>Minimal Requirements</h3> <ol> <li>Qt 4.8+ or Qt 5.x (KDE libraries are <b>not</b> required)</li> </ol> <h3>Compilation & Installation</h3> <ol> <li>To compile KShutdown run: <code>./Setup-qt4.sh</code></li> <li>Installation is not required</li> <li>Clang support (an alternative C++ compiler): <ol> <li><code>cd src; qmake -spec /usr/share/qt4/mkspecs/unsupported/linux-clang/</code></li> <li><code>make</code></li> </ol> </li> </ol> <h3>Using CMake instead of QMake (experimental, <a href="https://sourceforge.net/p/kshutdown/patches/4/">Patch #4</a>)</h3> <ol> <li><code>mkdir build-qt5.tmp</code> (use separated "build-qt5.tmp" directory to avoid mess in source tree)</li> <li><code>cd build-qt5.tmp</code></li> <li><code>cmake -DKS_PURE_QT=true -DCMAKE_INSTALL_PREFIX=/usr ..</code></li> <li><code>make && ./src/kshutdown-qt</code></li> </ol> <h3>Using an alternate Qt version (Qt 5.x example)</h3> <ol> <li><code>cd src</code></li> <li><code>/usr/lib/$YOUR_VERSION-linux-gnu/qt5/bin/qmake</code></li> <li><code>make</code></li> </ol> <h2 id="qt4windows">Qt Build @ Windows</h2> <p>Note: You can <a href="https://kshutdown.sourceforge.io/download.html">download</a> a binary (already compiled) KShutdown version for Windows.</p> <h3>Minimal Requirements (for compilation)</h3> <ol> <li><a href="https://download.qt.io/official_releases/qt/4.8/">Qt 4.8.x</a> (<code>qt-opensource-windows-x86-mingw*.exe</code>, minGW, LGPL version)</li> <ol> <li>When asked about MinGW (Minimalist GNU for Windows) click download link and unpack archive into <code>C:\mingw32</code></li> <li>Continue Qt installation</li> </ol> <li><a href="http://nsis.sourceforge.net/">Nullsoft Scriptable Install System</a> (NSIS)</li> <li>Windows XP/Vista/7/8/10 or compatible (including <a href="http://www.winehq.org/">Wine</a>)</li> </ol> <h3>Compilation & Installation</h3> <ul> <li>To compile and install KShutdown run: <code>Setup-qt4.bat</code> (this will rebuild both portable and installable version)</li> <li>To quick compile and test: <ol> <li>Launch "Command Prompt" (<code>cmd.exe</code>)</li> <li><code>cd your-kshutdown-source-dir\src</code></li> <li>Run <code>c:\qt\<your-qt-version>\bin\qtvars.bat</code> (it should print <i>Setting up a MinGW/Qt only environment...</i>)</li> <li>Run <code>make && release\kshutdown-qt.exe</code></li> <li>Right-click <code>kshutdown.nsi</code> and select <i>Compile NSIS Script</i> to build and test installer</li> </ol> </li> <li><b>Experimental:</b> To compile/test KShutdown under Wine/Linux run: <code>./Setup-wine.sh</code> or <code>wineconsole tools/test-wine.bat</code></li> </ul> <h2 id="qthaiku">Qt Build @ Haiku</h2> <h3>Compilation</h3> <ol> <li>Download and install <a href="http://qt-haiku.ru/">Qt for Haiku</a></li> <li>Download and unpack <a href="https://kshutdown.sourceforge.io/download.html">KShutdown source</a></li> <li>Open terminal with KShutdown source: <code>cd src</code></li> <li>Change the default C++ compiler to GCC 4: <code>setgcc gcc4</code></li> <li>Create Makefiles: <code>qmake</code></li> <li>Build "kshutdown-qt" binary: <code>make</code></li> </ol> <h2 id="common_compilation_errors">Common Compilation Errors</h2> <h3>cmake</h3> <h4>CMake Error at /usr/share/cmake-2.6/Modules/FindKDE4.cmake:72</h4> <pre> CMake Error at /usr/share/cmake-2.6/Modules/FindKDE4.cmake:72 (MESSAGE): ERROR: cmake/modules/FindKDE4Internal.cmake not found in ...;/usr/lib/kde4/share/kde4/apps </pre> <p>Install "kdelibs-dev" (sometimes called kdelibs5-dev) packages for your KDE version.</p> <h4>CMake Error at (...) Phonon library or includes NOT found!</h4> <p>This may happen after Ubuntu upgrade even if required Phonon files are already installed. [<a href="http://osdir.com/ml/digikam-users/2009-11/msg00024.html">Solution</a>]</p> <h4>make[2]: *** No rule to make target `/usr/lib/libknotifyconfig.so.4.xx', needed by `src/kshutdown'. Stop.</h4> <p>This may happen after KDE upgrade. Run <code>./Setup-kde4.sh</code> to refresh Makefiles.</p> <h4>CMake Error: The following variables are used in this project, but they are set to NOTFOUND.<br /> Please set them or make sure they are set and tested correctly in the CMake files:<br /> QT_QT_INCLUDE_DIR (...)</h4> <p> This may happen if both Qt 4 and 5 qmake is installed. Try to uninstall <code>qt5-qmake</code> package. </p> <h3>Setup</h3> <h4>"pushd: not found" error</h4> <p> Try to run <code>./Setup-kde4.sh</code> and <code>cd build.tmp; sudo make install</code> instead of <code>sudo sh Setup-kde4.sh</code> </p> <h2 id="supported">Supported Functions/Platforms</h2> <div> <table id="supported_table"> <thead> <tr> <td>Desktop Environment/Platform</td> <td>Turn Off Computer<sup>1</sup> <sup>2</sup></td> <td>Restart Computer<sup>1</sup> <sup>2</sup></td> <td>Suspend<sup>2</sup></td> <td>Hibernate<sup>2</sup></td> <td>Lock Screen</td> <td>Logout</td> <td>Extras</td> <td>Waiting for a selected application</td> <td>Inactivity Monitor</td> </tr> </thead> <tfoot> <tr><td class="header" colspan="10">Legend</td></tr> <tr><td class="test">Test</td><td colspan="9">Should work, still testing ;)</td></tr> <tr><td class="ok">OK<!-- TODO: implementation details --></td><td colspan="9">Done (hover an item to display implementation details)</td></tr> <tr><td class="na">N/A</td><td colspan="9">Function is not available on this platform/KShutdown version</td></tr> <tr><td class="wip">TODO/FIXME</td><td colspan="9">Work In Progress - to be implemented in a future...</td></tr> <tr><td>CLI</td><td colspan="9">Function available via Command Line (example: kshutdown --lock)</td></tr> <tr><td colspan="10"><sup>1</sup> D-Bus commands should work with <abbr title="GNOME Display Manager">GDM</abbr>, <abbr title="KDE Display Manager">KDM</abbr>, LightDM, and other Display Managers</td></tr> <tr><td colspan="10"><sup>2</sup> systemd (org.freedesktop.login1 D-Bus interface) is supported since KShutdown 3.2</td></tr> <tr><td colspan="10"><sup>3</sup> some features may work</td></tr> </tfoot> <tbody> <!-- TODO: document systemd support --> <tr> <td class="build"><a href="https://www.kde.org/">Plasma</a> 5 (KF5 Build)</td> <td class="ok" title="D-Bus (org.kde.ksmserver, org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.kde.ksmserver, org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="test" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">Test</td> <td class="ok" title="D-Bus (org.freedesktop.ScreenSaver, org.kde.krunner), xdg-screensaver, xscreensaver-command">OK</td> <td class="ok" title="D-Bus (org.kde.ksmserver)">OK</td> <td class="test">Test</td> <td class="test" title="::kill(pid, 0)">Test, no CLI</td> <td class="ok" title="KIdleTime, D-Bus (org.freedesktop.ScreenSaver, org.kde.krunner)">OK</td> </tr> <tr> <td class="build">Windows XP/Vista/7/8/10</td> <td class="ok" title="::InitiateSystemShutdown">OK</td> <td class="ok" title="::InitiateSystemShutdown">OK</td> <td class="ok" title="::SetSuspendState">OK</td> <td class="ok" title="::SetSuspendState">OK</td> <td class="ok" title="::LockWorkStation">OK</td> <td class="ok" title="::ExitWindowsEx">OK</td> <td class="ok">OK</td> <td class="ok" title="::IsWindow">OK, no CLI</td> <td class="ok" title="::GetLastInputInfo">OK</td> </tr> <tr> <td class="build"><a href="http://www.xfce.org/">Xfce</a> 4.8+</td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="xflock4, xdg-screensaver, xscreensaver-command">OK</td> <td class="new test" title="xfce4-session-logout">Test</td> <td class="test">Test</td> <td class="ok" title="::kill(pid, 0)">OK, no CLI</td> <td class="wip">TODO</td> </tr> <tr> <td class="build"><a href="https://www.kde.org/">Plasma</a> 5 (Qt Build)</td> <td class="test" title="D-Bus (org.kde.ksmserver, org.freedesktop.ConsoleKit, org.freedesktop.Hal)">Test</td> <td class="test" title="D-Bus (org.kde.ksmserver, org.freedesktop.ConsoleKit, org.freedesktop.Hal)">Test</td> <td class="test" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">Test</td> <td class="test" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">Test</td> <td class="test" title="D-Bus (org.freedesktop.ScreenSaver, org.kde.krunner), xdg-screensaver, xscreensaver-command">Test</td> <td class="test" title="D-Bus (org.kde.ksmserver)">Test</td> <td class="test">Test</td> <td class="test" title="::kill(pid, 0)">Test, no CLI</td> <td class="wip" title="D-Bus (org.freedesktop.ScreenSaver, org.kde.krunner)">FIXME</td> </tr> <tr> <td class="build"><a href="http://mate-desktop.org/">MATE</a></td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="test">Test</td> <td class="ok" title="mate-screensaver-command">OK</td> <td class="ok" title="mate-session-save">OK</td> <td class="ok">OK</td> <td class="ok" title="::kill(pid, 0)">OK, no CLI</td> <td class="wip">TODO</td> </tr> <tr> <td class="build"><a href="https://trinitydesktop.org/">Trinity</a></td> <td class="test" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">Test</td> <td class="test" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">Test</td> <td class="test">Test</td> <td class="test">Test</td> <td class="ok" title="DCOP (kdesktop.KScreensaverIface.lock)">OK</td> <td class="ok" title="DCOP (ksmserver.ksmserver.logout)">OK</td> <td class="test">Test</td> <td class="test">Test</td> <td class="wip">TODO</td> </tr> <tr> <td class="build"><a href="http://www.gnome.org/">GNOME</a> Shell (3.x)</td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="test" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">Test</td> <td class="ok" title="gnome-screensaver-command">OK</td> <td class="ok" title="gnome-session-quit">OK</td> <td class="test">Test</td> <td class="ok" title="::kill(pid, 0)">OK, no CLI</td> <td class="ok" title="D-Bus (org.freedesktop.ScreenSaver)">OK</td> </tr> <tr> <td class="build"><a href="http://en.wikipedia.org/wiki/Unity_%28user_interface%29">Unity</a></td> <td class="test">Test</td> <td class="test">Test</td> <td class="test" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">Test</td> <td class="test" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">Test</td> <td class="test" title="gnome-screensaver-command">Test</td> <td class="test" title="gnome-session-quit">Test</td> <td class="test">Test</td> <td class="ok" title="::kill(pid, 0)">OK, no CLI</td> <td class="wip">TODO</td> </tr> <tr> <td class="build"><a href="http://www.enlightenment.org/">Enlightenment</a></td> <td class="test">Test</td> <td class="test">Test</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="enlightenment_remote">OK</td> <td class="ok" title="enlightenment_remote">OK</td> <td class="test">Test</td> <td class="ok" title="::kill(pid, 0)">OK, no CLI</td> <td class="wip">TODO</td> </tr> <tr> <td class="build"><a href="http://lxqt.org/">LXQt</a></td> <td class="test">Test</td> <td class="test">Test</td> <td class="test" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">Test</td> <td class="test" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">Test</td> <td class="ok" title="lxqt-leave">OK</td> <td class="ok" title="D-Bus (org.lxqt.session)">OK</td> <td class="test">Test</td> <td class="ok" title="::kill(pid, 0)">OK, no CLI</td> <td class="wip">TODO</td> </tr> <tr> <td class="build obsolete"><a href="http://en.wikipedia.org/wiki/LXDE">LXDE</a></td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="lxlock, xdg-screensaver, xscreensaver-command">OK</td> <td class="ok" title="::kill(_LXSESSION_PID, SIGTERM)">OK</td> <td class="test">Test</td> <td class="ok" title="::kill(pid, 0)">OK, no CLI</td> <td class="wip">TODO</td> </tr> <tr> <td class="build obsolete"><a href="http://razor-qt.org/">Razor-qt</a></td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="xdg-screensaver, xscreensaver-command">OK</td> <td class="ok" title="D-Bus (org.razorqt.session)">OK</td> <td class="ok">OK</td> <td class="ok" title="::kill(pid, 0)">OK, no CLI</td> <td class="wip">TODO</td> </tr> <tr> <td class="build"><a href="https://www.haiku-os.org">Haiku</a></td> <td class="ok" title="shutdown">OK</td> <td class="ok" title="shutdown -r">OK</td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="ok" title="screen_blanker, need proper ScreenSaver settings">OK</td> <td class="na">N/A</td> <td class="test">Test</td> <td class="wip">TODO</td> <td class="wip">TODO</td> </tr> <tr> <td class="build"><a href="http://cinnamon.linuxmint.com/">Cinnamon</a></td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.ConsoleKit, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="D-Bus (org.freedesktop.UPower, org.freedesktop.Hal)">OK</td> <td class="ok" title="cinnamon-screensaver-command">OK</td> <td class="ok" title="cinnamon-session-quit">OK</td> <td class="test">Test</td> <td class="ok" title="::kill(pid, 0)">OK, no CLI</td> <td class="wip">TODO</td> </tr> <tr> <td class="build"><a href="http://openbox.org/">Openbox</a></td> <td class="wip" colspan="5">TODO (?)<sup>3</sup></td> <td class="ok" title="openbox --exit">OK</td> <td class="wip" colspan="3">TODO (?)</td> </tr> <tr> <td class="build">Mac OS X</td> <td class="wip" colspan="9">TODO (?)</td> </tr> <tr> <td class="build"><a href="http://www.gnome.org/">GNOME</a> 2</td> <td class="na new" colspan="9">Unsupported<sup>3</sup></td> </tr> <tr> <td class="build">KDE 3</td> <td class="na new" colspan="9">Unsupported<sup>3</sup> (use old KShutDown 1.0.x instead)</td> </tr> </tbody> </table> </div> <h2 id="issues">Known Issues/FAQ</h2> <h3>Linux: Hibernate/Suspend does not work</h3> <p>If your Linux distribution supports <i>systemd</i> then try to install KShutdown 3.2+; otherwise install "upower" package.</p> <p>As a workaround you can try to create a <a href="https://sourceforge.net/p/kshutdown/wiki/Extras/">custom action</a> with a <a href="https://wiki.archlinux.org/index.php/systemd#Power_management"><code>systemctl</code> command</a>.</p> <h3>Linux: Turn Off Computer/Restart Computer does not work</h3> <p>If your Linux distribution supports <i>systemd</i> then try to install KShutdown 3.2+; otherwise install "consolekit" package.</p> <h3>Linux: "KShutdown is already running" message</h3> <p> If no main window (and no system tray icon) is visible, kill "kshutdown" process and try to run it again. </p> <p> This may be caused by a buggy system tray implementation. You can disable it in KShutdown settings. </p> <h3>Linux: Various system tray icon issues</h3> <p>Depending on desktop environment, KShutdown may sometimes fail to display the system tray icon correctly.</p> <h3>Windows: No system tray icon</h3> <p>Sometimes the system tray icon may disappear randomly. Press Ctrl+Shift+Esc, end <code>kshutdown.exe</code> process, and restart KShutdown.</p> <h3>KShutdown 1.0.x</h3> <p>Some configuration and command line options in KShutdown 2.x+ may be not fully compatible with the old KShutdown 1.0.x.</p> </body> </html>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.