<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Определение Idle состояния X сесии</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9100.html</link>
    <description>Может кто сталкивался, как определить, что сесия (gnome/kde) находится в состоянии idle?&lt;br&gt;&lt;br&gt;Конкретно сейчас борюсь с Gnome. Ранее в dbus у screensaver были методы GetSessionIdle() GetSessionIdleTime(), но сейчас они признаны устаревшими. GetActive() показывает true только когда запущен screensaver, но его в настройках и вовсе можно отключить. А интересует именно момент когда нету активности (мышка, клавиатура) пользователя. Сам screensaver как-то может ведь &amp;#1108;то отследить. Можно ли такое без C/C++ сделать, например читать гдето тот же dbus или еще что? Если нет, то рассмотрю варианты и на C/C++.&lt;br&gt;</description>

<item>
    <title>Определение Idle состояния X сесии (pavlinux)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9100.html#6</link>
    <pubDate>Wed, 27 Apr 2011 18:16:43 GMT</pubDate>
    <description>&amp;gt; Xlib:  extension &quot;MIT-SCREEN-SAVER&quot; missing on display &quot;:1019.0&quot;.&lt;br&gt;&lt;br&gt;MIT-SCREEN-SAVER - это расширение Xorg (встроенное), видимо оно отключено,&lt;br&gt;например через &lt;br&gt;&lt;br&gt;# xset s off &lt;br&gt;или стартует без него&lt;br&gt;# Xorg -extension MIT-SCREEN-SAVER  &lt;br&gt;&lt;br&gt;&amp;gt; Была мысль пошарится по исходникам pidgin, но он как оказалось тоже не &lt;br&gt;&amp;gt; определяет idle на удаленной сесии.&lt;br&gt;&lt;br&gt;Вам нужно Idle именно у Xorg? А то для истинного idle давно уже придумали watchdog_и, &lt;br&gt;программные иль аппаратные.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Определение Idle состояния X сесии (anton7811)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9100.html#5</link>
    <pubDate>Wed, 27 Apr 2011 10:43:17 GMT</pubDate>
    <description>Спасибо за ответ.&lt;br&gt;&lt;br&gt;Получил такое вот сообщение на удаленной сесии:&lt;br&gt;&lt;br&gt;Xlib:  extension &quot;MIT-SCREEN-SAVER&quot; missing on display &quot;:1019.0&quot;.&lt;br&gt;&lt;br&gt;Похоже что screensaver впринципе на удаленном сеансе nx не работает (на vnc еще не проверял). Пока есть другие задачи, но к &amp;#1108;тому еще вернусь, еще и поищю информацию по нижнему посту.&lt;br&gt;&lt;br&gt;Была мысль пошарится по исходникам pidgin, но он как оказалось тоже не определяет idle на удаленной сесии.&lt;br&gt;&lt;br&gt;Если что-то получится отпишу.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Определение Idle состояния X сесии (pavlinux)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9100.html#4</link>
    <pubDate>Fri, 22 Apr 2011 17:08:02 GMT</pubDate>
    <description>&amp;gt; Способ получения результата без C/C++ актуален.&lt;br&gt;&amp;gt; Но паралельно, если никто не знает другого варианта, может подскажете как сделать &lt;br&gt;&amp;gt; что б нижеприведеная программа работала корректно не только на дисплее :0, &lt;br&gt;&amp;gt; но и на других, таких как удаленные сеансы.&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;#include &amp;lt;X11/extensions/scrnsaver.h&amp;gt;&lt;br&gt;&lt;br&gt;char *displays&#091;&#093; = &#123; NULL, &quot;micosoft.com:0&quot;, &quot;oracle.com:0&quot;, &quot;8.8.8.8:0&quot; &#125;;&lt;br&gt;&lt;br&gt;int main(void) &#123;&lt;br&gt;&lt;br&gt;        XScreenSaverInfo *info = XScreenSaverAllocInfo();&lt;br&gt;&lt;br&gt;        for (int i = 0; i &amp;lt; 4; i++) &#123;&lt;br&gt;&lt;br&gt;                Display *display = XOpenDisplay(displays&#091;i&#093;);&lt;br&gt;                if (display != NULL) &#123;&lt;br&gt;                        XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);&lt;br&gt;                        printf(&quot;&#037;lu ms&#092;n&quot;, info-&amp;gt;idle);&lt;br&gt;                &#125;&lt;br&gt;        &#125;&lt;br&gt;return 0;&lt;br&gt;&#125;&lt;br&gt;&#091;/code&#093;&lt;br&gt;&lt;br&gt;как-то так.&lt;br&gt;</description>
</item>

<item>
    <title>Определение Idle состояния X сесии (pavlinux)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9100.html#3</link>
    <pubDate>Fri, 22 Apr 2011 16:33:54 GMT</pubDate>
    <description>&amp;gt; Может кто сталкивался, как определить, что сесия (gnome/kde) находится в состоянии idle? &lt;br&gt;&amp;gt; Конкретно сейчас борюсь с Gnome. Ранее в dbus у screensaver были методы &lt;br&gt;&amp;gt; GetSessionIdle() GetSessionIdleTime(), но сейчас они признаны устаревшими. GetActive() &lt;br&gt;&amp;gt; показывает true только когда запущен screensaver, но его в настройках и &lt;br&gt;&amp;gt; вовсе можно отключить. А интересует именно момент когда нету активности (мышка, &lt;br&gt;&amp;gt; клавиатура) пользователя. Сам screensaver как-то может ведь &amp;#1108;то отследить. Можно &lt;br&gt;&amp;gt; ли такое без C/C++ сделать, например читать &lt;br&gt;&lt;br&gt;Google: xlock, xautolock, xlockmore &lt;br&gt;</description>
</item>

<item>
    <title>Определение Idle состояния X сесии (gpl77)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9100.html#2</link>
    <pubDate>Fri, 22 Apr 2011 15:06:26 GMT</pubDate>
    <description>&amp;gt; Но паралельно, если никто не знает другого варианта, может подскажете как сделать &lt;br&gt;&amp;gt; что б нижеприведеная программа работала корректно не только на дисплее :0, &lt;br&gt;&amp;gt;     Display *display = XOpenDisplay(0); &lt;br&gt;&amp;gt; коментируйте поподробней.&lt;br&gt;&lt;br&gt;все просто&lt;br&gt;&lt;br&gt;man XOpenDisplay &lt;br&gt;Display *XOpenDisplay(char *display_name);&lt;br&gt;&lt;br&gt;..     XOpenDisplay connects your application to the X&lt;br&gt;       server through TCP or DECnet communications protocols, or through some&lt;br&gt;       local inter-process communication protocol.  If the hostname is a host&lt;br&gt;       machine name and a single colon (:) separates the hostname and display&lt;br&gt;       number, XOpenDisplay connects using TCP streams.  If the hostname is&lt;br&gt;       not specified, Xlib uses whatever it believes is the fastest transport.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Определение Idle состояния X сесии (anton7811)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/9100.html#1</link>
    <pubDate>Fri, 22 Apr 2011 14:21:25 GMT</pubDate>
    <description>Способ получения результата без C/C++ актуален.&lt;br&gt;&lt;br&gt;Но паралельно, если никто не знает другого варианта, может подскажете как сделать что б нижеприведеная программа работала корректно не только на дисплее :0, но и на других, таких как удаленные сеансы.&lt;br&gt; &lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;#include &amp;lt;X11/extensions/scrnsaver.h&amp;gt;&lt;br&gt; &lt;br&gt;main() &#123;&lt;br&gt;    XScreenSaverInfo *info = XScreenSaverAllocInfo();&lt;br&gt;    Display *display = XOpenDisplay(0);&lt;br&gt;&lt;br&gt;    XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);&lt;br&gt;    printf(&quot;&#037;lu ms&#092;n&quot;, info-&amp;gt;idle);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;&lt;br&gt;Собственно сразу оговорюсь, что я с C/C++ не знаком, по&amp;#1108;тому если можно коментируйте поподробней.&lt;br&gt;Заранее благодарен!&lt;br&gt;</description>
</item>

</channel>
</rss>
