{"id":178,"date":"2019-10-15T11:10:27","date_gmt":"2019-10-15T08:10:27","guid":{"rendered":"https:\/\/sanana.kiev.ua\/?p=178"},"modified":"2019-10-15T22:33:23","modified_gmt":"2019-10-15T19:33:23","slug":"%d0%b1%d0%bb%d0%be%d0%ba%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b0-%d1%8d%d0%ba%d1%80%d0%b0%d0%bd%d0%b0","status":"publish","type":"post","link":"https:\/\/sanana.kiev.ua\/index.php\/archives\/178","title":{"rendered":"\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u044d\u043a\u0440\u0430\u043d\u0430"},"content":{"rendered":"<p>\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u044d\u043a\u0440\u0430\u043d\u0430 &#8211; \u0432\u0435\u0449\u044c, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u0430\u0440\u0445\u0438\u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f. \u0418\u043d\u043e\u0433\u0434\u0430. \u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445<\/p>\n<p>\u0412 \u043f\u043e\u0438\u0441\u043a\u0430\u0445 \u0438\u0434\u0435\u0430\u043b\u0430 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0443\u043b\u0437\u0438\u043d\u044b, \u0432 \u0438\u0442\u043e\u0433\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 <a href=\"https:\/\/packages.debian.org\/sid\/xtrlock\" rel=\"noopener noreferrer\" target=\"_blank\">xtrlock<\/a>. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0434\u0435\u0430\u043b. \u041d\u043e \u0432\u043e\u0442 \u044d\u0442\u0430 \u0433\u043e\u043b\u0443\u0431\u0430\u044f \u0431\u043b\u044f\u043c\u0431\u0430 \u0432 \u0432\u0438\u0434\u0435 \u0437\u0430\u043c\u043a\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u043e\u0437\u043e\u043b\u0438\u043b\u0430 \u0433\u043b\u0430\u0437. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c<\/p>\n<p><!--more--><\/p>\n<p>\u0420\u0435\u0448\u0438\u043b \u043f\u043e\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0430 \u043d\u0435 \u0442\u0443\u043f\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0438\u043d\u044e\u044e \u0431\u043b\u044f\u043c\u0431\u0443 \u043d\u0430 \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u0434\u0440\u0443\u0433\u0443\u044e \u0431\u043b\u044f\u043c\u0431\u043e\u0447\u043a\u0443. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0445\u043e\u0442\u0435\u043b \u043f\u0440\u0438\u043a\u0440\u0443\u0442\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0432\u0441\u044f\u043a\u0438\u0445 \u0442\u0430\u043c libpng \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 svg, \u043d\u043e \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0441\u0447\u0443\u0440 \u043c\u0443\u0442\u043e\u0440\u043d\u043e \u0438 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u043e. \u0417\u0430\u0442\u043e \u0432\u043e\u0432\u0440\u0435\u043c\u044f \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043b \u043f\u0440\u043e <em>Xcursor<\/em>. \u0412\u043e\u0442 \u043e\u043d\u043e! \u041a\u0430\u043a \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 &#8211; \u043f\u0430\u0442\u0447\u0438\u043a, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 <em>Xcursor<\/em>. \u0418\u043c\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0434\u043b\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0438\u043a\u043e\u043c -c. \u0418 \u0435\u0441\u043b\u0438 \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043d\u0438 \u043e\u0434\u0438\u043d \u043a\u0443\u0440\u0441\u043e\u0440 \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0442\u0435\u043c\u044b &#8211; \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 <strong>xcursorgen<\/strong>. \u041a\u0443\u0440\u0441\u043e\u0440 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u0435\u043c \u0438\u0437 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0442\u0435\u043c\u044b, \u0442\u0430\u043a \u0438 \u043f\u043e\u043b\u043d\u044b\u043c \u043f\u0443\u0442\u0435\u043c \u043a \u0444\u0430\u0439\u043b\u0443. \u0417\u0430\u043e\u0434\u043d\u043e \u0438 <em>Makefile<\/em> \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u043f\u0440\u0430\u0432\u0438\u043b.<br \/>\n\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0434\u0435\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e &#8211; <code>make -f Makefile.noimake XCURSOR=1<\/code><\/p>\n<p>\u041f\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u043c\u0443, \u0442\u0443\u0434\u0430 \u0431\u044b \u0435\u0449\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 <strong>PAM<\/strong> \u043f\u0440\u0438\u043a\u0440\u0443\u0442\u0438\u0442\u044c, \u043d\u043e \u044d\u0442\u043e \u043f\u043e\u043a\u0430 \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043e<\/p>\n<pre style=\"color:#d0d0d0; background-color:#1c1c1c; font-size:10pt; font-family:'Courier New',monospace; white-space: pre-line;\"><span style=\"color:#87afdf\">--- xtrlock-2.11\/xtrlock.c.orig\t2019-08-25 13:15:35.000000000 +0300<\/span>\r\n<span style=\"color:#87de8c\">+++ xtrlock-2.11\/xtrlock.c\t2019-08-28 12:06:41.419998893 +0300<\/span>\r\n<span style=\"color:#de87da\">&#64;&#64; -22,6 +22,10 &#64;&#64;<\/span>\r\n #include &lt;X11\/keysym.h&gt;\r\n #include &lt;X11\/Xos.h&gt;\r\n \r\n<span style=\"color:#87de8c\">+#ifdef USE_XCURSOR<\/span>\r\n<span style=\"color:#87de8c\">+#include &lt;X11\/Xcursor\/Xcursor.h&gt;<\/span>\r\n<span style=\"color:#87de8c\">+#endif<\/span>\r\n<span style=\"color:#87de8c\">+<\/span>\r\n #include &lt;stdlib.h&gt;\r\n #include &lt;stdio.h&gt;\r\n #include &lt;sys\/types.h&gt;\r\n<span style=\"color:#de87da\">&#64;&#64; -87,6 +91,9 &#64;&#64;<\/span>\r\n #endif\r\n   struct timeval tv;\r\n   int tvt, gs;\r\n<span style=\"color:#87de8c\">+#ifdef USE_XCURSOR<\/span>\r\n<span style=\"color:#87de8c\">+  char *cursor_name = NULL;<\/span>\r\n<span style=\"color:#87de8c\">+#endif<\/span>\r\n \r\n   while (argc &gt; 1) {\r\n     if ((strcmp(argv[1], &quot;-b&quot;) == 0)) {\r\n<span style=\"color:#de87da\">&#64;&#64; -97,8 +104,18 &#64;&#64;<\/span>\r\n       fork_after = 1;\r\n       argc--;\r\n       argv++;\r\n<span style=\"color:#87de8c\">+#ifdef USE_XCURSOR<\/span>\r\n<span style=\"color:#87de8c\">+    } else if ((strcmp(argv[1], &quot;-c&quot;) == 0)) {<\/span>\r\n<span style=\"color:#87de8c\">+      cursor_name = strdup (argv[2]);<\/span>\r\n<span style=\"color:#87de8c\">+      argc-=2;<\/span>\r\n<span style=\"color:#87de8c\">+      argv+=2;<\/span>\r\n<span style=\"color:#87de8c\">+#endif      <\/span>\r\n     } else {\r\n<span style=\"color:#87afdf\">-      fprintf(stderr,&quot;xtrlock (version %s); usage: xtrlock [-b] [-f]\\n&quot;,<\/span>\r\n<span style=\"color:#87de8c\">+      fprintf(stderr,&quot;xtrlock (version %s); usage: xtrlock [-b] [-f]&quot;<\/span>\r\n<span style=\"color:#87de8c\">+#ifdef USE_XCURSOR<\/span>\r\n<span style=\"color:#87de8c\">+      &quot; [-c &lt;cursor_name&gt;]&quot;<\/span>\r\n<span style=\"color:#87de8c\">+#endif<\/span>\r\n<span style=\"color:#87de8c\">+      &quot;\\n&quot;,<\/span>\r\n               program_version);\r\n       exit(1);\r\n     }\r\n<span style=\"color:#de87da\">&#64;&#64; -174,10 +191,17 &#64;&#64;<\/span>\r\n                     &quot;white&quot;,\r\n                     &amp;dummy, &amp;csr_bg);\r\n \r\n<span style=\"color:#87afdf\">-<\/span>\r\n<span style=\"color:#87afdf\">-<\/span>\r\n<span style=\"color:#87afdf\">-  cursor= XCreatePixmapCursor(display,csr_source,csr_mask,&amp;csr_fg,&amp;csr_bg,<\/span>\r\n<span style=\"color:#87afdf\">-                              lock_x_hot,lock_y_hot);<\/span>\r\n<span style=\"color:#87de8c\">+#ifdef USE_XCURSOR<\/span>\r\n<span style=\"color:#87de8c\">+  if (cursor_name) {<\/span>\r\n<span style=\"color:#87de8c\">+    struct stat st_buf;    <\/span>\r\n<span style=\"color:#87de8c\">+    if (lstat (cursor_name, &amp;st_buf) == 0)<\/span>\r\n<span style=\"color:#87de8c\">+      cursor = XcursorFilenameLoadCursor (display, cursor_name);<\/span>\r\n<span style=\"color:#87de8c\">+    else<\/span>\r\n<span style=\"color:#87de8c\">+      cursor = XcursorLibraryLoadCursor (display, cursor_name);<\/span>\r\n<span style=\"color:#87de8c\">+  } else<\/span>\r\n<span style=\"color:#87de8c\">+#endif<\/span>\r\n<span style=\"color:#87de8c\">+    cursor= XCreatePixmapCursor(display,csr_source,csr_mask,&amp;csr_fg,&amp;csr_bg,<\/span>\r\n<span style=\"color:#87de8c\">+                                lock_x_hot,lock_y_hot);<\/span>\r\n \r\n   XMapWindow(display,window);\r\n \r\n<span style=\"color:#87afdf\">--- xtrlock-2.11\/Makefile.noimake.orig\t2019-08-25 13:15:35.000000000 +0300<\/span>\r\n<span style=\"color:#87de8c\">+++ xtrlock-2.11\/Makefile.noimake\t2019-08-28 14:09:25.681998014 +0300<\/span>\r\n<span style=\"color:#de87da\">&#64;&#64; -13,17 +13,30 &#64;&#64;<\/span>\r\n # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n # GNU General Public License for more details.\r\n \r\n<span style=\"color:#87afdf\">-LDLIBS=-lX11<\/span>\r\n<span style=\"color:#87afdf\">-CC=gcc<\/span>\r\n<span style=\"color:#87afdf\">-CFLAGS=-Wall<\/span>\r\n<span style=\"color:#87afdf\">-INSTALL=install<\/span>\r\n<span style=\"color:#87de8c\">+DESTDIR =<\/span>\r\n<span style=\"color:#87de8c\">+<\/span>\r\n<span style=\"color:#87de8c\">+prefix = \/usr<\/span>\r\n<span style=\"color:#87de8c\">+<\/span>\r\n<span style=\"color:#87de8c\">+CC = gcc<\/span>\r\n<span style=\"color:#87de8c\">+INSTALL = install<\/span>\r\n<span style=\"color:#87de8c\">+<\/span>\r\n<span style=\"color:#87de8c\">+CFLAGS += -Wall -DSHADOW_PWD<\/span>\r\n<span style=\"color:#87de8c\">+LDLIBS += -lX11 -lcrypt<\/span>\r\n<span style=\"color:#87de8c\">+<\/span>\r\n<span style=\"color:#87de8c\">+ifeq ($(XCURSOR), 1)<\/span>\r\n<span style=\"color:#87de8c\">+CFLAGS += -DUSE_XCURSOR<\/span>\r\n<span style=\"color:#87de8c\">+LDLIBS += -lXcursor<\/span>\r\n<span style=\"color:#87de8c\">+endif<\/span>\r\n \r\n xtrlock:\txtrlock.o\r\n \r\n xtrlock.o:\txtrlock.c lock.bitmap mask.bitmap patchlevel.h\r\n \r\n install:\txtrlock\r\n<span style=\"color:#87afdf\">-\t\t$(INSTALL) -c -m 755 xtrlock \/usr\/bin\/X11<\/span>\r\n<span style=\"color:#87de8c\">+\t\t$(INSTALL) -D -m 755 xtrlock $(DESTDIR)$(prefix)\/bin\/xtrlock<\/span>\r\n \r\n install.man:\r\n<span style=\"color:#87afdf\">-\t\t$(INSTALL) -c -m 644 xtrlock.man \/usr\/man\/man1\/xtrlock.1x<\/span>\r\n<span style=\"color:#87de8c\">+\t\t$(INSTALL) -D -m 644 xtrlock.man $(DESTDIR)$(prefix)\/share\/man\/man1\/xtrlock.1<\/span>\r\n<span style=\"color:#87de8c\">+<\/span>\r\n<span style=\"color:#87de8c\">+clean:<\/span>\r\n<span style=\"color:#87de8c\">+\t\trm -f xtrlock *.o *~<\/span>\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u044d\u043a\u0440\u0430\u043d\u0430 &#8211; \u0432\u0435\u0449\u044c, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u0430\u0440\u0445\u0438\u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f. \u0418\u043d\u043e\u0433\u0434\u0430. \u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0412 \u043f\u043e\u0438\u0441\u043a\u0430\u0445 \u0438\u0434\u0435\u0430\u043b\u0430 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0443\u043b\u0437\u0438\u043d\u044b, \u0432 \u0438\u0442\u043e\u0433\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 xtrlock. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0434\u0435\u0430\u043b. \u041d\u043e \u0432\u043e\u0442 \u044d\u0442\u0430 \u0433\u043e\u043b\u0443\u0431\u0430\u044f \u0431\u043b\u044f\u043c\u0431\u0430 \u0432 \u0432\u0438\u0434\u0435 \u0437\u0430\u043c\u043a\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u043e\u0437\u043e\u043b\u0438\u043b\u0430 \u0433\u043b\u0430\u0437. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,5],"tags":[19],"class_list":["post-178","post","type-post","status-publish","format-standard","hentry","category-desktop","category-tipstricks","tag-x11"],"_links":{"self":[{"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/posts\/178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/comments?post=178"}],"version-history":[{"count":9,"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/posts\/178\/revisions"}],"predecessor-version":[{"id":187,"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/posts\/178\/revisions\/187"}],"wp:attachment":[{"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/media?parent=178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/categories?post=178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sanana.kiev.ua\/index.php\/wp-json\/wp\/v2\/tags?post=178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}