И это всё МОЁ

Есть интернет подключение, которое режет всё кроме DNS, HTTP и HTTPS (тупо по портам, то есть вместо HTTPS можно гнать всё, что угодно).


Есть VPS, на которой я поднял OpenVPN сервер на 443 порту. К нему отлично работает подключение с компьютера по тому интернет подключению в режиме заворачивания всего трафика в VPN (или не всего, как настрою маршруты).


Есть роутер на OpenWrt. Хочу, чтобы коннект к OpenVPN держал он, а не мой компьютер, при этом в VPN заворачивался только SSH, а весь остальной (HTTP, HTTPS) трафик шёл как раньше, потому что мне нет смысла терять сетевую производительность.


Подключение к OpenVPN настроил на OpenWrt, с роутера могу потыкать другой конец VPN (сервер), а если прописать в конфиге OpenVPN заворачивание всего трафика, то и ходить в интернет. Однако с Wi-Fi клиента ничего не работает. Второй конец VPN даже не пингуется, в режиме заворачивания всего трафика на компьютере просто пропадает интернет.


Таким образом у меня есть два вопроса:




  • Как заставить работать хождение через VPN на роутере для Wi-Fi клиентов?




  • Как заставить роутер заворачивать в VPN только определённый набор портов (SSH), а всё остальное пускать без него?











 , ,








И это всё МОЁ

Пытаюсь скопировать файл размером около гигабайта с жесткого диска на USB Flash подключенный через USB 3. Наблюдаю такое поведение: прогресс сразу же отображается в 100% и висит несколько минут, после чего исчезает. ОС - Ubuntu 20.04, указанное поведение наблюдаю как в Nautilus, так и в Midnight Commander. В Mac OS X и Windows прогресс отображается как положено.


Кто-нибудь сталкивался с похожей ситуацией? Как решали?









 , ,








И это всё МОЁ

Ставлю manjaro gnome 20.1.2. нужно после установки менять ядро с установленного на какое-то другое, возможно более стабильное? Или оставить как есть и пользоваться стоковым? На что вообще ядро влияет?









 , ,








И это всё МОЁ

Что-то я смотрю на вакансии - везде пишут теперь либо «полная удаленка», либо в офисе «2 дня в неделю максимум».

Получается теперь «работа в офисе» - это привилегия ?

Bioreactor








 








И это всё МОЁ

Здравствуйте.
Установлена Centos 7 на виртуальной машине с минимальным числом пакетов. Доустановил группу пакетов, чтобы можно было использовать Gnome командой:


yum group install «GNOME Desktop»


после чего выполняю команду:


startx


но …ничего не происходит, если посмотреть лог /var/log/Xorg.0.log, то там:


[    23.586] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input3/event3"
[ 23.586] (II) XINPUT: Adding extended input device "ImExPS/2 Generic Explorer Mouse" (type: MOUSE, id 11)
[ 23.586] (II) evdev: ImExPS/2 Generic Explorer Mouse: initialized for relative axes.
[ 23.586] (**) ImExPS/2 Generic Explorer Mouse: (accel) keeping acceleration scheme 1
[ 23.586] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration profile 0
[ 23.586] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration factor: 2.000
[ 23.586] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration threshold: 4
[ 23.594] (II) config/udev: Adding input device ImExPS/2 Generic Explorer Mouse (/dev/input/mouse0)
[ 23.594] (II) No input driver specified, ignoring this device.
[ 23.594] (II) This device may have been added with another device file.
[ 23.594] (II) config/udev: Adding input device PC Speaker (/dev/input/event6)
[ 23.594] (II) No input driver specified, ignoring this device.
[ 23.594] (II) This device may have been added with another device file.
[ 23.722] AUDIT: Thu Oct 29 20:04:32 2020: 1161: client 1 connected from local host ( uid=0 gid=0 pid=1628 )
Auth name: MIT-MAGIC-COOKIE-1 ID: 920
[ 23.728] AUDIT: Thu Oct 29 20:04:32 2020: 1161: client 1 disconnected
[ 23.776] AUDIT: Thu Oct 29 20:04:32 2020: 1161: client 1 connected from local host ( uid=0 gid=0 pid=1633 )
Auth name: MIT-MAGIC-COOKIE-1 ID: 920
[ 23.787] AUDIT: Thu Oct 29 20:04:32 2020: 1161: client 1 disconnected
[ 23.847] AUDIT: Thu Oct 29 20:04:32 2020: 1161: client 1 connected from local host ( uid=0 gid=0 pid=1099 )
Auth name: MIT-MAGIC-COOKIE-1 ID: 920
[ 25.429] AUDIT: Thu Oct 29 20:04:33 2020: 1161: client 2 connected from local host ( uid=42 gid=42 pid=1685 )
Auth name: MIT-MAGIC-COOKIE-1 ID: 920
[ 26.092] AUDIT: Thu Oct 29 20:04:34 2020: 1161: client 3 connected from local host ( uid=42 gid=42 pid=1761 )
Auth name: MIT-MAGIC-COOKIE-1 ID: 920
[ 26.238] AUDIT: Thu Oct 29 20:04:34 2020: 1161: client 4 connected from local host ( uid=42 gid=42 pid=1763 )
Auth name: MIT-MAGIC-COOKIE-1 ID: 920
[ 26.727] AUDIT: Thu Oct 29 20:04:35 2020: 1161: client 5 connected from local host ( uid=42 gid=42 pid=1763 )
Auth name: MIT-MAGIC-COOKIE-1 ID: 920



не подскажите в каком направлении двигаться..









 








И это всё МОЁ

при компиляции libsoup в blfs выдает


root [ /sources/libsoup-2.72.0/build ]# ninja
[1/48] Linking target libsoup/libsoup-2.4.so.1.11.0
FAILED: libsoup/libsoup-2.4.so.1.11.0
cc -o libsoup/libsoup-2.4.so.1.11.0 libsoup/libsoup-2.4.so.1.11.0.p/meson-generated_.._soup-resources.c.o libsoup/libsoup-2.4.so.1.11.0.p/meson-generated_.._soup-enum-types.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-address.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-auth.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-auth-basic.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-auth-digest.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-auth-ntlm.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-auth-negotiate.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-auth-domain.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-auth-domain-basic.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-auth-domain-digest.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-auth-manager.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-body-input-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-body-output-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-cache.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-cache-client-input-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-cache-input-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-client-input-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-connection.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-connection-auth.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-content-decoder.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-content-processor.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-content-sniffer.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-content-sniffer-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-converter-wrapper.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-cookie.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-cookie-jar.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-cookie-jar-db.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-cookie-jar-text.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-date.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-directory-input-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-filter-input-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-form.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-hsts-enforcer.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-hsts-enforcer-db.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-hsts-policy.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-headers.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-init.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-io-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-logger.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-message.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-message-body.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-message-client-io.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-message-headers.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-message-io.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-message-queue.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-message-server-io.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-method.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-misc.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-multipart.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-multipart-input-stream.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-password-manager.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-path-map.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-proxy-resolver.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-proxy-resolver-default.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-proxy-resolver-wrapper.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-proxy-uri-resolver.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-request.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-request-data.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-request-file.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-request-http.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-requester.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-server.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-session.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-session-async.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-session-feature.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-session-sync.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-socket.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-socket-properties.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-status.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-tld.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-uri.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-value-utils.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-version.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-websocket.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-websocket-connection.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-websocket-extension.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-websocket-extension-deflate.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-websocket-extension-manager.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-xmlrpc.c.o libsoup/libsoup-2.4.so.1.11.0.p/soup-xmlrpc-old.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libsoup-2.4.so.1 -Wl,--enable-new-dtags -Wl,-rpath -Wl,/usr/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -O3 -march=native /usr/lib/libsysprof-capture-4.a /usr/lib/libglib-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgio-2.0.so /usr/lib/libxml2.so /usr/lib/libsqlite3.so /usr/lib/libpsl.so /usr/lib/libz.so -Wl,--end-group
/usr/bin/ld: /usr/lib/libsysprof-capture-4.a(sysprof-collector.c.o): в функции «collector_init_cb»:
(.text+0x13): неопределённая ссылка на «pthread_key_create»
/usr/bin/ld: (.text+0x29): неопределённая ссылка на «pthread_key_create»
/usr/bin/ld: /usr/lib/libsysprof-capture-4.a(sysprof-collector.c.o): в функции «sysprof_collector_get.part.0»:
(.text+0x122): неопределённая ссылка на «pthread_setspecific»
/usr/bin/ld: (.text+0x25c): неопределённая ссылка на «pthread_getspecific»
/usr/bin/ld: (.text+0x278): неопределённая ссылка на «pthread_setspecific»
/usr/bin/ld: (.text+0x2e6): неопределённая ссылка на «pthread_setspecific»
/usr/bin/ld: /usr/lib/libsysprof-capture-4.a(sysprof-collector.c.o): в функции «sysprof_collector_init»:
(.text+0x6a3): неопределённая ссылка на «pthread_once»
/usr/bin/ld: /usr/lib/libsysprof-capture-4.a(sysprof-collector.c.o): в функции «sysprof_collector_allocate»:
(.text+0x6fd): неопределённая ссылка на «pthread_getspecific»
/usr/bin/ld: (.text+0x877): неопределённая ссылка на «pthread_getspecific»
/usr/bin/ld: /usr/lib/libsysprof-capture-4.a(sysprof-collector.c.o): в функции «sysprof_collector_sample»:
(.text+0x8e3): неопределённая ссылка на «pthread_getspecific»
/usr/bin/ld: (.text+0xa47): неопределённая ссылка на «pthread_getspecific»
/usr/bin/ld: /usr/lib/libsysprof-capture-4.a(sysprof-collector.c.o): в функции «sysprof_collector_mark»:
(.text+0xab4): неопределённая ссылка на «pthread_getspecific»
/usr/bin/ld: /usr/lib/libsysprof-capture-4.a(sysprof-collector.c.o):(.text+0xc07): далее есть ещё неопределённые ссылки на «pthread_getspecific»
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
[4/48] Compiling C object tests/websocket-test.p/websocket-test.c.o
ninja: build stopped: subcommand failed.


версии все пакетов последнии, libsoup-2.72.0
собираю с помощью mkdir build &&
cd build &&


meson –prefix=/usr -Dvapi=enabled .. &&
ninja
под chroot.


glib-networking-2.66.0, libpsl-0.21.1, libxml2-2.9.10 SQLite-3.33.0 gobject-introspection-1.66.1, sysprof-3.38.1 Vala-0.50.1 cURL-7.73.0 MIT Kerberos V5-1.18.2 установлены


пробовал: удалить и заново распаковать исходники,переустановить sysprof, выполнить ldconfig


p.s. если написал не в тот раздел прошу извинить









 , ,








И это всё МОЁ

Устанавливаю manjaro gnome на ноутбук. При установке предлагает создать swap раздел на диске. Оперативки имеется 20gb. Вопрос нужно ли делать этот swap раздел? Нужен ли он вообще? И если делать то с гибернацией или без? До этого после установки была проблема что зависал ноутбук при выходе из ждущего режима, хотя создавал раздел swap с гибернацией









 , ,








И это всё МОЁ

Linux Mint (Xfce)


Есть 2 монитора каждый из которых подключен к СВОЕЙ ВНЕШНЕЙ видеокарте (в дальнешем планирую одну пробросить в виртуалку).


Если я по Super+P выставляю режим который мне надо (Каждый монитор сам за себя) то мышка фиксируется в одном мониторе(«Правом»;) и на другой («Левый»;) не переходит. Но горячими клавишами я могу вызвать главное меню на «Левом» мониторе, но мышка всеравно остается на «Правом».


Гдето нашел информацию что за блокировку в экране отвечает Scrooll Lock, но у меня не сработало его отключение. Мышка всеравно двигается в пределах «Правого» монитора.


Собственно вопросы:



  1. Как перемещать мышку между Экранами?

  2. Как настроить горячие клавиши для смены фокуса между экранами?
    2.1. Желательно чтобы хоткей срабатывал даже если на «Правом» мониторе запущена виртуалка (QEMU) в полноэкраном режиме.


Спасибо.









 , ,








И это всё МОЁ

Есть протокол 1

package ru.cow.moo;
message Message1 {
string Id = 1;
int32 code = 2;
# очень много полей далее
}

и другой протокол 2, использующий Message1 точно такое же как в протоколе 1

package ru.dog.woof;
message Message1 {
string Id = 1;
int32 code = 2;
# очень много полей далее
}

Прилетело сообщение из первого протокола типа Message1

ru::cow::moo::Message1 cow_mess1;
cow_mess1.set_id("123";);
cow_mess1.set_code(1);
// туча полей

Как можно просто привести сообщение с одинаковыми полями из одного протокола в другой без перебора всех полей?

ru::dog::woof::Message1 gav_mess1;
gav_mess1 = protobuf_cast<ru::dog::woof::Message1>(cow_mess1); // ???








 ,








И это всё МОЁ

Эм ? - Вот к чему приводит удаленка …









 








И это всё МОЁ

Есть сервер, на котором web, DNS, почта. Он имеет снаружи имя по купленному домену.


Например домен: hello.ru


user@myhome ~ $ hostname
myhome


Надо ли его переименовать под этот домен?


Или работает и ладно?









 ,








И это всё МОЁ

Качнул Шоткат Вышел Shotcut 20.10.31 , распаковал архив и обнаружил страшное.


Внутри файл Shotcut.desktop (это вижу с ls из консоли) отображается как просто Shotcut без расширения при том, что все остальные файлы везде отображаются с расширениями.


Сначала я подумал, что он прячет расширение как винда для каких-то особенных файлов (и стал искать такую настройку, безуспешно), но оказалось еще хуже. Я нажал пару раз копи-паст на этом файле и получил 4 одинаковых ровно ничем не отличающихся (в т.ч. по имени) друг от друга файла «Shotcut» в одном и том же каталоге (я имею ввиду, что Наутилус показывает их рядом как 4 одноименных файла «Shotcut»;).


ls при этом показывает вот что:


Shotcut (3-я копия).desktop  Shotcut (другая копия).desktop
Shotcut.desktop Shotcut (копия).desktop


Т.е. он показывает даже не имя файла, а, походу, поле Name из структуры десктоп-файла, генерируя неотличимые один от другого ярлыки в одном каталоге - так они выглядят в Наутилусе, в фс всё нормально.


При этом еще и опция «Редактировать» не доступна в контекстном меню по правой кнопке, т.е. я не могу изменить его из Наутилуса как текстовый файл.


В принципе, конечно, пох на это. Просто бомбит немного, решил поделиться









 ,








И это всё МОЁ

Есть хост, есть сервер. На хосте лежит программка reboot_alert.
Программка reboot_alert представляет собой окошечко с кнопкой на gtk, которое выводит сообщение.


reboot_alert запускается с помощью скрипта.


Вот, собственно, скрипт:


#!/bin/bash

dsp=$(who | grep -oE "\(:.\)" | grep -oE ":." | head -n 1)

$(DISPLAY=${dsp} /home/user/reboot_alert "Сейчас кто-то перезагрузится";)
exit_code=$?

if [ "${exit_code}" == "0" ]; then
shutdown -r
fi

exit 1


Если запускать скрипт с хоста, проблем не возникает. Все работает.


Другое дело, если программа запускается с сервера (на хосте). Вылезает ошибка:


No protocol specified
Unable to init server: Не удалось подключиться к: В соединении отказано

(reboot_alert:2112): Gtk-[1;33mWARNING[0m **: [34m22:40:15.683[0m: cannot open display: :0



Ok. Ошибка, вроде, типичная. Гуглю.
После чего, ради избавления от ошибки, было решено использовать xhost +. (Знаю, что нехорошо, но пока хотя бы так).
Но так как сервер запускает скрипт явно не в иксах, то была явно указана переменная DISPLAY: export DISPLAY:=0. (В идеале активный DISPLAY должен определяться в скрипте, но в данном случае я точно знаю, что на хосте активен display :0).


Для проверки, что эта конструкция работает, был написан скрипт:


#!/bin/bash
DISPLAY=:0
export DISPLAY
xhost +


Запускаю скрипт с сервера и…


No protocol specified
xhost: unable to open display ":0"


Вот, собственно, и проблема.


Возможно, на это влияет то, что сервер запускает скрипт на хосте с помощью jail. Но тут я полный ноль.


Возможно, как вариант, можно написать скриптик, который будет запускать xhost + в иксах сразу после их загрузки. Но это, на мой непрофессиональный взгляд, слишком большой костыль, недостойный жизни.


P.S. Если на хосте вручную прописать xhost +, а потом на сервере запустить скрипт, который запускает программу, все работает.


P.S.S. Знаю, что на форуме поднимали эту тему несколько раз. Не помогло.









 , , , ,








И это всё МОЁ

хочу перенести базу на другой сервер через репликацию, но есть проблема, сейчас стоит репликатор из mysql в tarantool, он читает бинлоги, надо чтобы при переносе не сбилась позиция бинлога, как-то можно перенести на slave позицию бинлога?


пробовал делать так


сейчас слейв


Master_Log_File: mysql-bin.000018
Read_Master_Log_Pos: 150
Relay_Log_File: slave-relay-bin.000008
Relay_Log_Pos: 312
Relay_Master_Log_File: mysql-bin.000018
Slave_IO_Running: Yes
Slave_SQL_Running: Yes


переключаю slave в мастер, сделал


mysql> stop slave;
Query OK, 0 rows affected (0.08 sec)

show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 602 | db | | |
+------------------+----------+--------------+------------------+-------------------+


не та позиция и файл


может быть надо какие-то опция в настройках добавить?









 , , , ,








И это всё МОЁ

Добрый день. Ставлю Debian на ноутбук «Asus x556uam», во время процесса появляется такое оповещение: https://drive.google.com/file/d/100R8W8jxG9YgjZ9bcA1f0i_vUovYqtKZ/view?usp=drivesdk . Разумеется, носителя с драйвером у меня нет. Вопрос: где взять данный драйвер?









 , ,








И это всё МОЁ

Чтобы было что то вроде

 youtube-dl (link) | ffplay

Есть в этом направлении хоть что то?








 ,








И это всё МОЁ

Предлагаю тут вести список моделей смартфонов для которых доступен исходный код.

Ссылки на исходный код (или хотя-бы .config ядра) строго обязательны.








 , , , ,








И это всё МОЁ

ноут Dell 5470
сегодня заметил странную вещь
при нажатии на delete курсор выделения перемещается и удаляет не то, что нужно
стрелки тоже ведут себя странно?
может что-то знает как-то тестер клавиатур или что это может быть?








 , ,








12:49

cron

И это всё МОЁ

всем привет)
как мне запускать скрипт каждий час, не под root, а под своим пользивателем?
за руский извмните, сам з молдови)









 , ,








И это всё МОЁ

В официальном русскоязычном блоге компании Vivaldi опубликована статья, в которой обсуждаются причины популярности данного браузера среди пользователей операционных систем Linux. По словам разработчиков, доля пользователей Linux, выбравших Vivaldi, в пять раз больше, чем доля Linux среди операционных систем.


В качестве причин такой популярности указывается использование кода Chromium, активная работа с сообществом пользователей и использование принципов разработки, принятых в Linux-среде.


Также в статье рассматриваются вопросы, связанные с доступностью исходных кодов Vivaldi и объясняются причины выбора в пользу несвободной лицензии для собственно браузера Vivaldi.









 , , ,