LINUX.ORG.RU

Шустрый аналог exo-open?

 , , , ,


0

1

Здравствуйте! Я пользуюсь Debian Linux 10 Buster и XFCE 4.12.5, XFCE Goodies 4.12.6, XFWM 4.12.5-1. И компом с 2GiB ОЗУ.
И я хочу узнать про шустрый, легкий и не тянущий к себе пол-DE аналог exo-open.

Что такое шустрый? По клику прямого ярлыка хрома (где указана команда chromium %U, а не exo-open ...) он открывается за секунду. По клику ярлыка, запускающего хром через exo-open, он открывается за 10-20 секунд. Я, конечно, могу каждый раз после установки хрома и удаления огнелиса к чертовой матери править ярлык веб-браузера, но не только он запускается через exo-open.

И я хочу, чтобы разница во времени запуска была меньше. Вдруг я захочу установить, допустим, тор? А суть exo-open в том, что он смотрит, какие проги подходят под определение, в нашем случае, веб-браузера. И запускает. А так придется менять ярлык.

Есть идеи?



Последнее исправление: zagatov_lev (всего исправлений: 1)

Ответ на: комментарий от nebularia

Он открывает файл или сайт в проге по умолчанию. А мне нужно, чтобы открывалась прога по признаку.
$ man xdg-open в помощь!

zagatov_lev
() автор топика
Ответ на: комментарий от xDShot

Ну посмотрите.
exo-open --launch TerminalEmulator ищет проги по признаку TerminalEmulator. То есть, если я снесу xfce4-terminal и поставлю uXterm, то по этой команде в первый раз система может предложить выбрать терминал. Но сначала идет поиск. А если терминал один, то он один открываться и будет.

zagatov_lev
() автор топика
Ответ на: комментарий от zagatov_lev

извиняюсь, может не понял вопроса, думал тебе побыстрее нужно

piwww ★★★★
()
Ответ на: комментарий от zagatov_lev

просто с 2 гигами ОЗУ крыса конечно пойдет, но…

piwww ★★★★
()
Ответ на: комментарий от zagatov_lev

У тебя же Debian? Вот и юзай alternatives, это именно то, что тебе надо:

https://proubuntu.com.ua/2011/11/09/update-alternatives.html

https://wiki.debian.org/ru/DebianAlternatives

Запускаешь x-www-browser и откроется тот, что ты выставил дефолтом.

nebularia ★★★
()
Последнее исправление: nebularia (всего исправлений: 1)
Ответ на: комментарий от nebularia

Вот так хром заустился за полминуты. Я успел заварить себе чай и уже отпить два глоточка, пока он там открывался.

zagatov_lev
() автор топика
Ответ на: комментарий от nebularia

хз. Обычный хром запускается за секунду кликом мыши и за миг вводом команды. ну хз.

zagatov_lev
() автор топика
Ответ на: комментарий от nebularia
user@lev-2:~$ ls -l $(which x-www-browser)
lrwxrwxrwx 1 root root 31 июн 25 12:35 /usr/bin/x-www-browser -> /etc/alternatives/x-www-browser
user@lev-2:~$ 


Это нормально?

zagatov_lev
() автор топика
Ответ на: комментарий от zagatov_lev

Наводящий вопрос:

А другие программы (не Хром и не какие-нибудь монструозные офисы/кады) — так же тормозят при открытии через exo-open по сравнению с непосредственным запуском?

anonymous
()
Ответ на: комментарий от nebularia

Кажется то же самое

user@lev-2:~$ ls -l /etc/alternatives/x-www-browser
lrwxrwxrwx 1 root root 17 июн 25 18:28 /etc/alternatives/x-www-browser -> /usr/bin/chromium
user@lev-2:~$ 

zagatov_lev
() автор топика
Ответ на: комментарий от anonymous
user@lev-2:~$ exo-open https://www.linux.org.ru
user@lev-2:~$ Окно или вкладка откроются в текущем сеансе браузера.

user@lev-2:~$ 


и открылась ещё одна вкладка с лором

zagatov_lev
() автор топика
Ответ на: комментарий от zagatov_lev

И да, ссылка открывалась десять-пятнадцать секунд

zagatov_lev
() автор топика
Ответ на: комментарий от zagatov_lev

Ну закрой браузер или текстовый файл открой.Сравни с xdg-open

time xdg-open /var/log/Xorg.0.log
time xdg-open https://www.linux.org.ru
time exo-open https://www.linux.org.ru
time exo-open /var/log/Xorg.0.log

anonymous
()
Ответ на: комментарий от anonymous
user@lev-2:~$ time xdg-open /var/log/Xorg.0.log

real	0m0,990s
user	0m0,078s
sys	0m0,039s
user@lev-2:~$ time xdg-open https://www.linux.org.ru

real	0m0,099s
user	0m0,061s
sys	0m0,017s
user@lev-2:~$ time exo-open https://www.linux.org.ru

real	0m10,091s
user	0m9,039s
sys	0m0,007s
user@lev-2:~$ time exo-open /var/log/Xorg.0.log

real	0m10,096s
user	0m9,048s
sys	0m0,004s
user@lev-2:~$
(mousepad:15451): Gtk-WARNING **: 13:06:30.044: Theme parsing error: <data>:2:29: The style property GtkButton:default-border is deprecated and shouldn't be used anymore. It will be removed in a future version

(mousepad:15451): Gtk-WARNING **: 13:06:30.048: Theme parsing error: <data>:3:37: The style property GtkButton:default-outside-border is deprecated and shouldn't be used anymore. It will be removed in a future version

(mousepad:15451): Gtk-WARNING **: 13:06:30.049: Theme parsing error: <data>:4:27: The style property GtkButton:inner-border is deprecated and shouldn't be used anymore. It will be removed in a future version

(mousepad:15451): Gtk-WARNING **: 13:06:30.049: Theme parsing error: <data>:5:31: The style property GtkWidget:focus-line-width is deprecated and shouldn't be used anymore. It will be removed in a future version

(mousepad:15451): Gtk-WARNING **: 13:06:30.049: Theme parsing error: <data>:6:28: The style property GtkWidget:focus-padding is deprecated and shouldn't be used anymore. It will be removed in a future version

(mousepad:15398): Gtk-WARNING **: 13:06:30.050: Theme parsing error: <data>:2:29: The style property GtkButton:default-border is deprecated and shouldn't be used anymore. It will be removed in a future version

(mousepad:15398): Gtk-WARNING **: 13:06:30.050: Theme parsing error: <data>:3:37: The style property GtkButton:default-outside-border is deprecated and shouldn't be used anymore. It will be removed in a future version

(mousepad:15398): Gtk-WARNING **: 13:06:30.050: Theme parsing error: <data>:4:27: The style property GtkButton:inner-border is deprecated and shouldn't be used anymore. It will be removed in a future version

(mousepad:15398): Gtk-WARNING **: 13:06:30.050: Theme parsing error: <data>:5:31: The Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
style property GtkWidget:focus-line-width is deprecated and shouldn't be used anymore. It will be removed in a future version

(mousepad:15398): Gtk-WARNING **: 13:06:30.050: Theme parsing error: <data>:6:28: The style property GtkWidget:focus-padding is deprecated and shouldn't be used anymore. It will be removed in a future version
Окно или вкладка откроются в текущем сеансе браузера.
Окно или вкладка откроются в текущем сеансе браузера.
user@lev-2:~$ 
zagatov_lev
() автор топика
Ответ на: комментарий от zagatov_lev

Не, по этому можно сказать только то, что exo-open работает до передачи управления приложению десять секунд, а xdg-open передаёт управление мгновенно. Но идея интересная.

А если

time chromium
time x-www-browser

?

Понятное дело, перед каждой из команд браузер нужно закрыть.

nebularia ★★★
()
Последнее исправление: nebularia (всего исправлений: 1)
Ответ на: комментарий от zagatov_lev

Да явно с exo траблы 10секунд против 1с

anonymous
()
Ответ на: комментарий от nebularia
user@lev-2:~$ time chromium
[15615:15615:0630/131600.052718:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[15644:4:0630/131600.691121:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.
[15644:4:0630/131600.691843:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.

real	0m0,083s
user	0m1,946s
sys	0m0,913s
user@lev-2:~$ time x-www-browser
[15766:15766:0630/131614.487239:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[15775:4:0630/131615.319876:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.
[15775:4:0630/131615.320680:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.

real	0m28,268s
user	0m0,017s
sys	0m0,893s
user@lev-2:~$ 
zagatov_lev
() автор топика
Последнее исправление: zagatov_lev (всего исправлений: 1)
Ответ на: комментарий от zagatov_lev

Фигасе. Что-то очень необычное. Ладно, а если так:

su -
ln -s /usr/bin/chromium /usr/local/bin/testhere
exit
time testhere

Создадим свой симлинк, без alternatives.

nebularia ★★★
()
Последнее исправление: nebularia (всего исправлений: 1)

Есть достаточно очевидная мысль, что exo-open требуется некоторый объём памяти чтобы загрузиться. Он тянет GLib, GIO, GVfs и GTK.

Если у тебя постоянно запущен хром — он условно съедает под гиг и больше. Голая xfce без излишеств — порядка полгига. То есть, может получиться так, что каждый запуск вызывает необходимость очистки кэшей и освобождения памяти под exo-open, затем необходимость освобождения памяти под запускаемое приложение. Если просто запустить приложение, потом закрыть — на следующий раз оно запустится практически мгновенно, потому как все библиотеки уже подгружены в кэш.

Попробуй повторить тесты на чистой системе после ребута, с простыми приложениями, не запуская ничего тяжёлого (хром, etc).

anonymous
()
Ответ на: комментарий от anonymous

У меня ничего не запущено, кроме терминала

zagatov_lev
() автор топика
Ответ на: комментарий от nebularia
user@lev-2:~$ time testhere
[16385:16385:0630/133033.271927:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[16399:11:0630/133033.433671:ERROR:command_buffer_proxy_impl.cc(125)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
[16399:4:0630/133034.043354:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.
[16399:4:0630/133034.044088:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.

real	0m1,609s
user	0m0,706s
sys	0m0,633s
user@lev-2:~$ 
zagatov_lev
() автор топика
Ответ на: комментарий от zagatov_lev

Это при том, что я закрыл его сразу же после того, как увидел прорисованный интерфейс

zagatov_lev
() автор топика
Ответ на: комментарий от zagatov_lev

Интересно...

А с x-terminal-emulator и прямым его запуском ситуация повторяется? Можешь тоже замерить time, если разница не особо существенная.

Если не повторяется, то мб дело в самом хромиуме, мб он где-то там проверяет имя процесса и офигевает в течение минуты. Чисто догадки.

nebularia ★★★
()
Последнее исправление: nebularia (всего исправлений: 1)
Ответ на: комментарий от nebularia

Просто ну не может быть такое именно из-за символьной ссылки. Это простейшая операция которая в системе используется всё время в гигантском количестве и разницы вообще не должно быть (ну, про миллисекунды речь не идёт)

nebularia ★★★
()
Ответ на: тема от zagatov_lev

pastebin

anonymous
()
Ответ на: комментарий от zagatov_lev

Тут мои идеи заканчиваются. Но это что-то странное, перекинул в парочку чатиков, мб оттуда кто с мыслями придёт.

nebularia ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.