И это всё МОЁ

Я видел, что тут были какие-то странные темы про микроконтроллеры.


Но мне как-то «подбросили» Arduino… Да, я нашёл, что на нём можно делать. Вычислительной производительности чуть больше чем на ZX Spectrum 48, памяти в некотором смысле и больше и меньше.


Я за несколько дней изучил базовые возможности. И даже успел написать нужную прогу (за эти несколько дней) тому, кто мне подбросил эту Arduino.


Что скажет народ? Стоит ли себе взять эти микроконтроллеры в одно из своих хобби?









 








И это всё МОЁ

Наконец в споре производительности языков программирования поставлена точка. Участвовали Haskell, Rust, Go, Standard ML, APL и даже ассемблер. Но программа, написанная на Brainfuck, побеждает в соревновании, показывая производительность C и оставляя далеко позади остальных конкурсантов в лаконичности.


>>,+><[-----------[----------------------[>+<<-[<+>+]>[-]][-]]<[-]>>[<<+>>-]<,+]<[-]<[>>+>+<<<-]>>>[<<<+>>>-]<<+>[<->[>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]++++++++[<++++++>-]>[<<+>>-]>[<<+>>-]<<]>]<[->>++++++++[<++++++>-]]<[.[-]<]>++++++++++.


https://kiwec.net/blog/posts/beating-c-with-brainfuck/









 , , ,








И это всё МОЁ

Опять напоролся на эту недокументированию фигню, и снова забыл, как раньше это делал.

Обещаю LOR сообществу, что на этот раз запишу рецепт в блокнотик, лишь только напомните, как это делается :)

Установил на ноут свеженькую «Корректирующую версию Debian 10.2.0».
Сразу напоролся на косячок - при загрузке пропала заставка, то бишь plymouth - ничего себе «корректирующая»!

Идем дальше. Теперь нужно добавить в трей переключатель раскладки клавиатуры.
Обычно это делается еблементарно -

- в контекстном меню пункт «Добавить/убрать элементы панели - Настройки панели - Апплеты панели - Добавить»
Просматриваю доступные модули и добавляю модуль «Обработчик раскладки клавиатуры».

Так вот, этого «Обработчика», сцуко, нет в списке модулей!!! Как же его добавить? Забыл...








 ,








И это всё МОЁ

Лет 15 назад в интернете было немало ресурсов, где можно было потренироваться в прохождении LPI
Тогда мне на это баловство денег было жалко, а сейчас я кроме:


http://www.penguintutor.com/quiz/
https://www.specialist.ru/testrun/713


ничего и найти не могу.


Работодатель готов заплатитъ за экзамен, но хотелось бы немного,
перед тем как провалить, потренироваться.


Английский сойдёт, но на русском или немецком было бы предпочтительней.









 , ,








И это всё МОЁ

Доброго времени суток ЛОР.
Имеется chroot с arm gentoo-й для архитектуры процессора armv7a.

Проблема следующего характера при сборке вышеупомянутого пакета:


build.log

 * Package:    sys-libs/zlib-1.2.11-r2
* Repository: gentoo
* Maintainer: [email protected]
* USE: arm elibc_glibc kernel_linux split-usr userland_GNU
* FEATURES: preserve-libs userpriv
>>> Unpacking source...
>>> Unpacking zlib-1.2.11.tar.gz to /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work
>>> Source unpacked in /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work
>>> Preparing source in /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11 ...
* Applying zlib-1.2.11-fix-deflateParams-usage.patch ... [ ok ]
* Applying zlib-1.2.11-minizip-drop-crypt-header.patch ... [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11 ...
* .arm: running multilib-minimal_abi_src_configure
/var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/configure --shared --prefix=/usr --libdir=/usr/lib --uname=linux
Using ar
Checking for armv7a-unknown-linux-gnueabihf-gcc...
Checking for shared library support...
No shared library support; try without defining CC and CFLAGS
Building static library libz.a version 1.2.11 with cc.
Checking for size_t... Yes.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
>>> Source configured.
>>> Compiling source in /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11 ...
* .arm: running multilib-minimal_abi_src_compile
make -j5
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -I. -I/var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/ -c -o example.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/test/example.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o adler32.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/adler32.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o crc32.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/crc32.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o deflate.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/deflate.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o infback.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/infback.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o inffast.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/inffast.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o inflate.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/inflate.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o inftrees.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/inftrees.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o trees.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/trees.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o zutil.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/zutil.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o compress.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/compress.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o uncompr.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/uncompr.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o gzclose.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/gzclose.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o gzlib.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/gzlib.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o gzread.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/gzread.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -include zconf.h -c -o gzwrite.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/gzwrite.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -I. -I/var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/ -c -o minigzip.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/test/minigzip.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -I. -I/var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/ -D_FILE_OFFSET_BITS=64 -c -o example64.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/test/example.c
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -I. -I/var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/ -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/test/minigzip.c
ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -o example example.o -L. libz.a
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -o minigzip minigzip.o -L. libz.a
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -o minigzip64 minigzip64.o -L. libz.a
cc -O2 -pipe -fomit-frame-pointer -D_LARGEFILE64_SOURCE=1 -o example64 example64.o -L. libz.a
>>> Source compiled.
>>> Test phase [not enabled]: sys-libs/zlib-1.2.11-r2

>>> Install sys-libs/zlib-1.2.11-r2 into /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image/
* .arm: running multilib-minimal_abi_src_install
make -j5 install DESTDIR=/var/tmp/portage/sys-libs/zlib-1.2.11-r2/image/ LDCONFIG=:
rm -f /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/lib/libz.a
cp libz.a /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/lib
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/lib/libz.a
rm -f /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/share/man/man3/zlib.3
cp /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/zlib.3 /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/share/man/man3
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/share/man/man3/zlib.3
rm -f /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/lib/pkgconfig/zlib.pc
cp zlib.pc /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/lib/pkgconfig
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/lib/pkgconfig/zlib.pc
rm -f /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/include/zlib.h /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/include/zconf.h
cp /var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11/zlib.h zconf.h /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/include
chmod 644 /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/include/zlib.h /var/tmp/portage/sys-libs/zlib-1.2.11-r2/image//usr/include/zconf.h
* ERROR: sys-libs/zlib-1.2.11-r2::gentoo failed (install phase):
* unable to read SONAME from libz.so
*
* Call stack:
* ebuild.sh, line 93: Called src_install
* environment, line 2765: Called multilib-minimal_src_install
* environment, line 2027: Called multilib_foreach_abi 'multilib-minimal_abi_src_install'
* environment, line 2234: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
* environment, line 1914: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
* environment, line 1912: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_install'
* environment, line 406: Called multilib-minimal_abi_src_install
* environment, line 2017: Called multilib_src_install
* environment, line 2493: Called gen_usr_ldscript '-a' 'z'
* environment, line 1330: Called die
* The specific snippet of code:
* [[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}";
*
* If you need support, post the output of `emerge --info '=sys-libs/zlib-1.2.11-r2::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-libs/zlib-1.2.11-r2::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-libs/zlib-1.2.11-r2/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-libs/zlib-1.2.11-r2/temp/environment'.
* Working directory: '/var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11-.arm'
* S: '/var/tmp/portage/sys-libs/zlib-1.2.11-r2/work/zlib-1.2.11'



emerge --info

Portage 2.3.68 (python 2.7.15-final-0, default/linux/arm/17.0/armv7a, gcc-9.2.0, glibc-2.29-r2, 4.19.82-gentoo armv7l)
=================================================================
System uname: Linux-4.19.82-gentoo-armv7l-Intel-R-_Xeon-R-_CPU_E5440_@_2.83GHz-with-gentoo-2.6
KiB Mem: 3996452 total, 2719804 free
KiB Swap: 0 total, 0 free
Timestamp of repository gentoo: Sat, 23 Nov 2019 20:15:01 +0000
Head commit of repository gentoo: b17c2c4f8a7fe2808c0f31c8d37ad82f199f5d28
Head commit of repository imax-ua: 10eb96605db30207586775d47d367a0f593fda0d

sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.31.1 p3) 2.31.1
app-shells/bash: 4.4_p23-r1::gentoo
dev-lang/python: 2.7.15::python-kit, 3.7.3::python-kit
sys-apps/baselayout: 2.6-r1::gentoo
sys-apps/openrc: 0.41.2-r1::core-kit
sys-apps/sandbox: 2.17::core-kit
sys-devel/autoconf: 2.69-r4::core-kit
sys-devel/automake: 1.15.1-r2::core-kit, 1.16.1-r1::core-kit
sys-devel/binutils: 2.31.1-r1::core-kit, 2.32-r1::core-kit
sys-devel/gcc: 7.4.1-r6::core-kit, 9.1.1-r8::core-kit, 9.2.0::core-kit
sys-devel/gcc-config: 2.1::gentoo
sys-devel/libtool: 2.4.6-r5::core-kit
sys-devel/make: 4.2.1-r4::core-kit
sys-kernel/linux-headers: 4.19::gentoo (virtual/os-headers)
sys-libs/glibc: 2.29-r2::gentoo
Repositories:

gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://rsync2.ru.gentoo.org/gentoo-portage/
priority: -1000
sync-rsync-extra-opts:

ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="@FREE"
CBUILD="armv7a-unknown-linux-gnueabihf"
CFLAGS="-O2 -pipe -fomit-frame-pointer"
CHOST="armv7a-unknown-linux-gnueabihf"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -fomit-frame-pointer"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersync xattr"
FFLAGS="-O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="fastpull-us.funtoo.org";
LANG="ru_RU.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl arm armv5te armv6 armv6t2 berkdb bzip2 cli crypt cxx dri fortran gdbm iconv ipv6 ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl tcpd unicode xattr zlib" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb thumb2 v4 v5 v6 v7 vfp" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


Очень надеюсь на вашу помощь.








 , ,








И это всё МОЁ

Привет, ЛОР!

А расскажи мне вот что: как часто ты встречаешь ситуацию, когда в системе больше одной NUMA-ноды (чаще всего, потому больше одного физического CPU) и у них различный размер L2 и L3 кеша? Слышал про такое на каких-то армах. Так же вроде как некоторые серверные мат.платы позволяют ставить разные процессоры одного поколения, но я не уверен.

Скажи, как с таким вообще жить? Алсо будет круто, если у кого есть такая система под рукой и мне можно там пару тестов будет погонять.

Спасибо, ЛОР!








 ,








И это всё МОЁ

Всем привет.Ищу программу чтобы связать андроид и пк,раньше пользовался kde connect было очень удобно,но сейчас перешёл на cinnamon и ничего не могу найти подобное









 , ,








И это всё МОЁ

Сайт администрации РНД https://letters.donland.ru/


Банный стыд









 








И это всё МОЁ

Есть некий IMAP сервер, на котором Inbox является корневой папкой, а все остальные (Sent, Drafts, etc) являются ее дочерними папками.


Некоторые email клиенты даже умеют с этим адекватно работать (но не KMail).


Зачем так сделано?









 








И это всё МОЁ

Нужно сделать дополнительные кнопки (выключения и перезагрузки) на экране логина.
Поскольку fly dm theme очень похож на kdm greeter theme, из этой статьи http://themanjay.com/archive/kdm/ взял соответствующие Stock Nodes (halt и reboot) и добавил в файл /usr/share/fly-dm/themes/fly-flat/fly.xml следующее:

    <item type="rect" id="halt_button" button="true">
<pos anchor="e" x="-0" y="80%" width="box" height="box"/>
<box orientation="horizontal" spacing="7">
<item type="label">
<normal color="#bbbbbb" font="Segoe Semibold 11"/>
<prelight color="#ffffff" font="Segoe Semibold 11"/>
<active color="#ff0000" font="Segoe Semibold 11"/>
<pos anchor="e" x="-0" y="50%"/>
<stock type="halt"/>
</item>
<item type="pixmap">
<normal file="system_inactive.png"/>
<prelight file="system.png"/>
<pos anchor="e" x="-0" y="50%" width="48" height="48"/>
</item>
</box>
</item>

<item type="rect" id="reboot_button" button="true">
<pos anchor="e" x="-0" y="90%" width="box" height="box"/>
<box orientation="horizontal" spacing="7">
<item type="label">
<normal color="#bbbbbb" font="Segoe Semibold 11"/>
<prelight color="#ffffff" font="Segoe Semibold 11"/>
<active color="#ff0000" font="Segoe Semibold 11"/>
<pos anchor="e" x="-0" y="50%"/>
<stock type="reboot"/>
</item>
<item type="pixmap">
<normal file="system_inactive.png"/>
<prelight file="system.png"/>
<pos anchor="e" x="-0" y="50%" width="48" height="48"/>
</item>
</box>
</item>

Как результат появились две кнопки: https://ibb.co/K7RZyJR.
Но оказалось, что они не работают.
Немного поискав, нашел файл /etc/X11/fly-dm/fly-dmrc и там секцию Shutdown:

[Shutdown]
# The command (subject to word splitting) to run to halt the system.
# Default is "/bin/systemctl poweroff"
#HaltCmd=/bin/systemctl poweroff
HaltCmd=sudo shutdown -h now
# The command (subject to word splitting) to run to reboot the system.
# Default is "/bin/systemctl reboot"
#RebootCmd=/bin/systemctl reboot
RebootCmd=sudo shutdown -r now

Также еще в /etc/sudoers добавил для пользователя fly-dm, чтобы не спрашивался пароль при выполнении команды sudo.
В опции HaltCmd и RebootCmd прописывал разные команды, типа halt -p, shutdown -h, но все равно кнопки не работают.

Тогда в этом же файле нашел строчку с вызовом виртуальной клавиатуры и поправил на свой вызов:

#VkbdCmd=/usr/bin/fly-vkbd --strut-bottom -s black_flat
VkbdCmd=sudo shutdown -r now

И при нажатии на кнопку виртуальной клавиатуры система перезагрузилась.

Подскажите, кто делал что-то подобное, чего не хватает системе, чтобы заработали кнопки выключения и перезагрузки.








 ,








И это всё МОЁ

Нужно сделать дополнительные кнопки (выключения и перезагрузки) на экране логина.
Поскольку fly dm theme очень похож на kdm greeter theme, из этой статьи http://themanjay.com/archive/kdm/ взял соответствующие Stock Nodes (halt и reboot) и добавил в файл /usr/share/fly-dm/themes/fly-flat/fly.xml следующее:

    <item type="rect" id="halt_button" button="true">
<pos anchor="e" x="-0" y="80%" width="box" height="box"/>
<box orientation="horizontal" spacing="7">
<item type="label">
<normal color="#bbbbbb" font="Segoe Semibold 11"/>
<prelight color="#ffffff" font="Segoe Semibold 11"/>
<active color="#ff0000" font="Segoe Semibold 11"/>
<pos anchor="e" x="-0" y="50%"/>
<stock type="halt"/>
</item>
<item type="pixmap">
<normal file="system_inactive.png"/>
<prelight file="system.png"/>
<pos anchor="e" x="-0" y="50%" width="48" height="48"/>
</item>
</box>
</item>

<item type="rect" id="reboot_button" button="true">
<pos anchor="e" x="-0" y="90%" width="box" height="box"/>
<box orientation="horizontal" spacing="7">
<item type="label">
<normal color="#bbbbbb" font="Segoe Semibold 11"/>
<prelight color="#ffffff" font="Segoe Semibold 11"/>
<active color="#ff0000" font="Segoe Semibold 11"/>
<pos anchor="e" x="-0" y="50%"/>
<stock type="reboot"/>
</item>
<item type="pixmap">
<normal file="system_inactive.png"/>
<prelight file="system.png"/>
<pos anchor="e" x="-0" y="50%" width="48" height="48"/>
</item>
</box>
</item>

Как результат появились две кнопки: https://ibb.co/K7RZyJR.
Но оказалось, что они не работают.
Немного поискав, нашел файл /etc/X11/fly-dm/fly-dmrc и там секцию Shutdown:

[Shutdown]
# The command (subject to word splitting) to run to halt the system.
# Default is "/bin/systemctl poweroff"
#HaltCmd=/bin/systemctl poweroff
HaltCmd=sudo shutdown -h now
# The command (subject to word splitting) to run to reboot the system.
# Default is "/bin/systemctl reboot"
#RebootCmd=/bin/systemctl reboot
RebootCmd=sudo shutdown -r now

Также еще в /etc/sudoers добавил для пользователя fly-dm, чтобы не спрашивался пароль при выполнении команды sudo.
В опции HaltCmd и RebootCmd прописывал разные команды, типа halt -p, shutdown -h, но все равно кнопки не работают.

Тогда в этом же файле нашел строчку с вызовом виртуальной клавиатуры и поправил на свой вызов:

#VkbdCmd=/usr/bin/fly-vkbd --strut-bottom -s black_flat
VkbdCmd=sudo shutdown -r now

И при нажатии на кнопку виртуальной клавиатуры система перезагрузилась.

Подскажите, кто делал что-то подобное, чего не хватает системе, чтобы заработали кнопки выключения и перезагрузки.








 ,








И это всё МОЁ

Помогите пожалуйста! Вот фрагмент кода:
web = (WebView) findViewById(R.id.webView);
web.setBackgroundColor(Color.TRANSPARENT);
web.loadUrl(«https://www.google.com/»;);
У меня получилось сделать прозрачной главную страницу гугл, но при вбивании запроса в поисковую строку, результаты поиска отображаются на обычном белом фоне гугл. Почему так происходит и как сделать так, чтобы результаты поиска тоже были на прозрачном фоне?









 , ,








И это всё МОЁ

В логах такое:


[  2231.575] (II) UnloadModule: "vesa"
[ 2231.575] (II) UnloadSubModule: "int10"
[ 2231.575] (II) Unloading int10
[ 2231.575] (II) UnloadSubModule: "vbe"
[ 2231.575] (II) Unloading vbe
[ 2231.575] (EE) Screen(s) found, but none have a usable configuration.
[ 2231.575] (EE)
Fatal server error:
[ 2231.575] (EE) no screens found(EE)
[ 2231.576] (EE)
Please consult the The X.Org Foundation support
at wiki.x.org
for help.
[ 2231.576] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 2231.577] (EE)
[ 2231.611] (EE) Server terminated with error (1). Closing log file.









 








И это всё МОЁ

Как сказал @ilovewindows



Да ты матерщинник, а сочетание правдолюбия и нового ника выдают еще и рецидивиста.



Рецидив надо прекращать. Прошу галоперидолу пачек пять.


ПАроль: idxeyb


P.S. И от моего имени не меняйте сообщения, как с аккаунтом boogerman. Некрасиво было иногда.









 ,








И это всё МОЁ

Добрый вечер, Форумчане!


Тут у меня возник вопрос:
Как поставить Linux на сие чудо, под названием «Irbis NB46»?


Видел скрин, от уважаемого @superuser, как он поставил Xubuntu на этот ноутбук.
(Вот этот скрин: https://fastpic.ru/view/102/2018/0821/9fb451f4492494bced88f1ce48dd3bab.png.html)


Хотелось еще узнать, смогу ли я завести на нем звук?


За советы заранее спасибо)









 , ,








И это всё МОЁ

@maxcom, что происходит с форумом? Кто у Вас в модераторах? Я уже немолодой, скромный тролль, который делится знанием в области IT с сообществом. Где взрослые люди? Почему здесь установились ужасные порядки? Критика не воспринимается.


Почему Вы не встроите в движок возможность цитирования удалённого сообщения? Если модератор счёл нужным, он трёт ветку, но мой счёт или как там его, не позволяет увидеть удалённые.


Так-же напомню (может ситуация другая с другим счётом), что при редактировании срабатывает Ваша защита «30 сек до след сообжения». Считаю это багом.


P.S. На ЛОРе под разными акками с 2000 года, всякое видел, но не это.









 








И это всё МОЁ

Доброго времени суток!
После аварийного выключения ноутбука не загружается система.
debian 10.
Вывод экрана следующий:

https://m.imgur.com/gallery/Maha7G6

https://m.imgur.com/gallery/gyrj5oE








 , , , ,








И это всё МОЁ

KRoN73 догадывался о том, от чего он может умереть (ровно за 10 лет до смерти): http://linux.org.ru/forum/talks/3443207?cid=3445208.

Вот еще: http://linux.org.ru/forum/talks/2575218?cid=2575769.








 ,








И это всё МОЁ

В общем хочу понять как лучше.


Ситуация такая Flask + swagger против BaseHTTPRequestHandler который из стандартной библиотеки.


Есть локальное устройство (фискальный принтер, весы и прочее)



  1. Flask + Swagger
    Плюсы:



  • имеем задокументированный интерфейс.

  • имеем мидлвари которые будут слать эксепшены на наш сервер (хотя это не нужно)

  • имеем веб интерфейс для того чтоб работать с сервером помимо JS


Минусы:



  • Сложность

  • Объем на диске.



  1. BaseHTTPRequestHandler
    Плюсы:



  • Ничего ставить не надо.
    Минусы:

  • Вообще не ясно как тестить и отладка ад.

  • Нет ничего с логами и прочим









 ,








И это всё МОЁ

Здравствуйте мои маленькие любители авиационного спирта =) !

Последние пару дней занимался настройкой Wi-Fi, да не простого, а стильного-модного-молодёжного, со своим Captive Portal. Для тех, кто в танке: это когда ты подключаешься к Wi-Fi сети, но прежде чем допускать тебя к интернетам и ЛОРу в частности, нужно пройти какую-никакую дополнительную авторизацию на веб-страничке, third-party так сказать.

Такой подход я считаю более секурным, потому как, доступ каждого клиента по Wi-Fi регулируется лично через iptables, а не тупо форвардится всё подряд. Какой простор для творчества! Во-вторых, авторизация происходит через веб-страничку, а не WPA и прочие нативные механизмы wireless-сетей, которые как и всё в нашем мире, не вечны и надёжность их хромает.

После вступления, приступим.

hostapd? checked!

iptables? checked!

nginx? checked!

Рассказывать о настройке NAT лишний раз не буду, думаю, у вас уже должна быть настроена раздача Wi-Fi, и всё, что вам ненужно, это только Captive Portal.

wlan0 — имя интерфейса Wi-Fi

eth0 — имя интерфейса с интернетами

192.168.0.0/24 — локалка

# создаём кольцо
iptables -t mangle -N captive

# все пакеты из ви-фи отправляем в это кольцо
iptables -t mangle -A PREROUTING -i wlan0 -j captive

# доверенные клиенты из кольца выходят сразу же (адреса инсертим в начало списка)
# фильтр хоть по MAC, хоть по IP
# этот список должен редактироваться через сайт (Captive Portal)
# iptables -t mangle -I captive -m mac --mac-source 00:00:00:00:00:00 -j RETURN
# iptables -t mangle -I captive -s 192.168.0.137 -j RETURN

# если ты всё ещё в кольце, тогда ставим метку
iptables -t mangle -A captive -j MARK --set-mark 1

# всех с меткой перенаправляем к себе, когда они открывают сайты 80
# про 443 забудьте
iptables -t nat -A PREROUTING -i wlan0 -m mark --mark 1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1

# всех с меткой при прочем трафике просто дропаем
iptables -t filter -A FORWARD -i wlan0 -m mark --mark 1 -j DROP

# успешно натим оставшихся доверенных
iptables -t filter -A FORWARD -i wlan0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

Вот и всё. Здесь включена проверка через -i wlan0, таким образом это не вызовет никаких конфликтов с другими сетями, т.к. у меня в продакшене под кроватью очень много правил iptables и я знаю, о чём говорю.

Подводные камни, на которые я наткнулся и спешу поделиться с вами. В соседнем треде мне научно-популярно объяснили, что тщетно пытаться настроить редирект по HTTPS на свой Captive Portal, это просто не сработает, это уже MitM атака. Не очень-то и хотелось! ;p

Если у вас используются личные DNS, то наверняка у вас есть правило, разрешающее локальные запросы к серверу (tcp/53 udp/53). Не забудьте разрешить запросы и к локальному веб-серверу (tcp/80). Но а если вы сообщаете Wi-Fi клиентам какие-то публичные NS, то не забудьте разрешить доступ клиентам к ним: iptables -t filter -I FORWARD -i wlan0 -s 192.168.0.0/24 -d 8.8.8.8/32 -j ACCEPT. А суть такова. Когда клиент подключается к Wi-Fi, он проверяет доступность интернета в целом, для этого смартфоны качают со своих серверов файлы и проверяют корректность полученных данных. Если оно не сможет резолвить хост запрашиваемого сайта, то на этом и споткнётся и проверка на наличие Captive Portal в сети не пройдёт.

Собственно, теперь к механизму Captive Portal.

Как уже замечено, это личная прерогатива каждого клиента, проверять доступность интернета, и если в результате проверки что-то пошло не так, — значит либо интернета нет, либо Captive Portal.

Мы перенаправили все запросы на 80 порт к себе, на свой локальный сервер. Теперь nginx должен в ответ на все HTTP запросы отвечать кодом 302. Не 200, не 301, не 511, а именно 302, а затем перенаправлять вас на страничку с third-party авторизацией, и только таким макаром например мой Андрюша-9 смог обнаружить, что у меня таки Captive Portal, а не какой-то сломанный интернет. В результате сразу после подключения к Wi-Fi сети должно появиться Push-уведомление: Скриншот #1, при нажатии которого откроется страничка, куда редиректит nginx Скриншот #2.

Сам скрипт странички я оставляю вам на откуп: думаю, вам не составит никакого труда наслюнявить однострочник на php добавляющий $_SERVER['REMOTE_ADDR'] в iptables через shell_exec(); или типа того. Да? Да. Ваш Captive Portal полностью в ваших руках.

Вот и весь механизм работы Captive Portal. Спрашивайте ответы.








 , ,