LINUX.ORG.RU

Сообщения actics

 

Серое окно при попытке запуска java приложений под тайловым менеджером

Лет 5 сижу на xmonad, cейчас захотелось поиграться с устройством WM и поэтому хочу пересесть на dwm. Пытаюсь запустить pycharm на последнем и вижу серый экран. Пропись «wmname LG3D» и «export _JAVA_AWT_WM_NONREPARENTING=1» в .xinitrc не помогает. Та же история происходит под i3, под awesome приложение просто падает.
Под xmonad все работало с одним wmname, _JAVA_AWT_WM_NONREPARENTING в настройках не было.
При этом при запуске так же появлялся серый экран, но если переключиться на другой рабочий стол и обратно, то все начинало работать. Подобное под dwm не работает.
ЧЯДНТ?

 , , ,

actics
()

Проблема с подключением мониторов через xrandr

Ноутбук dell latitude e7470 с арчем под xmonad, в комплекте док станция и 2 монитора. Ситуация следующая:
1. Комп в док станции, включаю
2. Старую иксы и делаю xrandr. Все мониторы начинают работать.

$ xrandr --listmonitors
Monitors: 3
 0: +*DP1-2 1920/527x1080/296+1080+280  DP1-2
 1: +eDP1 1920/309x1080/174+3000+280  eDP1
 2: +DP1-1 1080/527x1920/296+0+0  DP1-1

lspci -k 
00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 07)
	Subsystem: Dell Device 06dc
	Kernel driver in use: i915
	Kernel modules: i915


Далее вытаскиваю комп из док станции и через некоторое время кладу обратно. При этом мониторы видны в xrandr:
]$ xrandr 
Screen 0: minimum 8 x 8, current 4920 x 1920, maximum 32767 x 32767
eDP1 connected 1920x1080+3000+280 (normal left inverted right x axis y axis) 309mm x 174mm
   1920x1080     60.02*+  47.99  
   1400x1050     59.98  
   1600x900      60.00  
   1280x1024     60.02  
   1280x960      60.00  
   1368x768      60.00  
   1280x720      60.00  
   1024x768      60.00  
   1024x576      60.00  
   960x540       60.00  
   800x600       60.32    56.25  
   864x486       60.00  
   640x480       59.94  
   720x405       60.00  
   640x360       60.00  
DP1 disconnected (normal left inverted right x axis y axis)
DP1-1 connected (normal left inverted right x axis y axis)
   1920x1080     60.00 +  50.00    59.94  
   1600x1200     60.00  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
DP1-2 connected primary (normal left inverted right x axis y axis)
   1920x1080     60.00 +  50.00    59.94  
   1600x1200     60.00  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
DP1-3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

А вот listmonitors все равно показывает один монитор.
$ xrandr --listmonitors
Monitors: 1
 0: +eDP1 1920/309x1080/174+3000+280  eDP1

Сам xrandr скрипт падает, следовательно подключенные к доке мониторы так и остаются черными.
xrandr \
    --output DP1-1 --mode 1920x1080 --pos 0x0 --rotate left \
    --output DP1-2 --primary --mode 1920x1080 --pos 1080x280 \
    --output eDP1 --mode 1920x1080 --pos 3000x280
xrandr: Configure crtc 1 failed

После этого в логах
[106536.576] (II) intel(0): switch to mode 1920x1080@60.0 on DP1-1, DP1-2 using pipe 1, position (0, 0), rotation left, reflection none00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 07)
	Subsystem: Dell Device 06dc
	Kernel driver in use: i915
	Kernel modules: i915

[106536.582] (EE) intel(0): failed to set mode: Invalid argument [22]
[106536.857] (II) intel(0): switch to mode 1920x1080@60.0 on eDP1 using pipe 0, position (3000, 280), rotation normal, reflection none
[106798.605] (II) intel(0): switch to mode 1920x1080@60.0 on DP1-1, DP1-2 using pipe 1, position (0, 0), rotation left, reflection none
[106798.606] (EE) intel(0): failed to set mode: Invalid argument [22]
[106798.897] (II) intel(0): switch to mode 1920x1080@60.0 on eDP1 using pipe 0, position (3000, 280), rotation normal, reflection none

При этом в логах мониторы корректно отключаются и подключаются.
ЧЯДНТ, и почему после перезапуска иксов все работает?

 , ,

actics
()

Производительность в python: built-in any/all VS самописный цикл

Заметил забавный факт и никак не могу понять в чем дело. any / all работают медленнее чем такой же самописный цикл. Для примера возьмем задачу: проверить, подходит ли строка под шаблон '[a-Z_]\w+'. Те является ли она корректным именем переменной.

#!/usr/bin/env python3

import re
import string

regexp1 = re.compile(r'^[a-z_]\w*$', re.IGNORECASE)
symbols = frozenset(string.ascii_letters + string.digits + '_')


def check1(name):
    return regexp1.search(name) is not None


def check2(name):
    first_ch = name[0]
    if first_ch >= '0' and first_ch <= '9':
        return False

    for ch in name:
        if ch not in symbols:
            return False

    return True


def check3(name):
    first_ch = name[0]
    if first_ch >= '0' and first_ch <= '9':
        return False

    return all(ch in symbols for ch in name)


def check_speed(fname, name, count):
    from timeit import timeit
    time = timeit('{0}("{1}")'.format(fname, name), 'from __main__ import {0}'.format(fname), number=count)
    print('{0}: {1:.3f} seconds in {2} iterations for "{3}"'.format(fname, time, count, name))


def main():
    import sys
    fnames = ['check1', 'check2', 'check3']
    name = sys.argv[1]
    count = int(sys.argv[2])
    for fname in fnames:
        check_speed(fname, name, count)


if __name__ == '__main__':
    main()

При этом получаем интересные результаты, на фоне которых интересно выделяется отставание примера с all

[actics@6910p trash]$ ./p.py "a12" 1000000
check1: 4.822 seconds in 1000000 iterations
check2: 2.143 seconds in 1000000 iterations
check3: 4.985 seconds in 1000000 iterations

[actics@6910p trash]$ ./p.py "a12345678901234567890" 1000000
check1: 6.784 seconds in 1000000 iterations
check2: 5.328 seconds in 1000000 iterations
check3: 10.320 seconds in 1000000 iterations

[actics@6910p trash]$ ./p.py "a12345678901234567890123456789012345678901234567890" 1000000
check1: 9.881 seconds in 1000000 iterations
check2: 11.759 seconds in 1000000 iterations
check3: 19.880 seconds in 1000000 iterations

Результаты для первого и второго теста очевидны: чем больше вход тем меньше сказываются накладные расходы на инициализацию автомата в регекспе, поэтому check1 начинает уделывать check2. А вот результаты с all мне абсолютно не понятны: в чем может быть дело? В использовании генератора? Проверил, если передавать массив набитый булами all начинает ускоряться. Получается, что с генераторами лучше велосипедить цикл? Или дело в чем-то другом?

 

actics
()

Как потокобезопасно скопировать файл (bash)?

У меня есть файл, мне необходимо проделать над ним некоторую длительную операцию будучи уверенным в том, что во время работы с ним никто другой его не изменит. Логично, что проще всего скопировать файл во временный, и проделывать операции с ним. Дает ли нам стандартный cp умеренность в том, что во время копирования никто ничего с ним не сделает? Если да, и это гарантирует нам ядро, то каким образом это организованно там? Где почитать?

 ,

actics
()

Пара вопросов по хромиуму

arch + xmonad
Ситуация такая, на отдельном мониторе, без xmobar сверху у меня развернут хром. При перетаскивании табов мышко часто касается края экрана из-за чего таб превращается в полноценное окно, которое обратно затаскивается уже с болью. Есть ли решение и почему вообще так происходит?

Второй вопрос. Арч свежий, ставил неделю назад, раньше подобного не случалось: у хрома достаточно часто (раз в минуты 3-5 при активном серфинге) появляются проблемы с обновлением вывода страницы. Как проявляется: например, переключаешься на вкладку и сразу же начинаешь скролить - эффекта никакого, страница остается абсолютно статична, не работает даже анимация.Помогает переключиться на другую вкладку, а потом обратно. Так же бывают проблемы с обновлением верстки при изменении размеров окна

Заранее спасибо

 , ,

actics
()

Не отображаются русские буквы в графическом терминале

В первый раз столкнулся с подобной проблемой. В tty консолях русский отображается корректно, в chromium тоже, в lxterminal'e нет. Шрифт Liberation Mono из пакета ttf-liberation, на предыдущей машине работало. В чем может быть проблема, какие конфиги показать для ясности?

 

actics
()

hp compaq 6910p wifi hard block

Мне достался старенький ноут hp compaq 6910p, и я первым делом решил накатить на него арч. Загрузил установочный образ. И тут же схватил поблему, что не могу снять hard block с вайфая. Дрова определились, саму карточку тоже видно, но как избавиться от Hard blocked: yes в rfkill list ума не приложу. В гугле советуют потыкать биос - ничего не помогает. fn + f12 в установщике видимо тоже не ратобоет, в консоль просто падает тильда и все. Иникатор вайфая на корпусе тоже не горит.

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

 , , ,

actics
()

Nvidia и звук в archlinux

Поставил видяху Nvidia, GeForce GTX 550 Ti, все заработало, а вот звук отпал. pavucontrol показывает, что все играет, порты перепробовал все, в алса все колонки по максимуму.

lspci | grep Audio

00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
01:00.1 Audio device: NVIDIA Corporation GF116 High Definition Audio Controller (rev a1)

В чем проблема понять не могу.

 , , ,

actics
()

скроллбар в vim

Тут понял, что единственное, чего мне не хватает в виме - это скроллбар. С ним как-то визуально понятнее в каком месте файла находишься, да и крысоводством я тоже иногда грешу. По сему вопрос: я долго искал, но никак не смог найти никаких годных плагинов, кроме каких-то минискриптов которые меня не устраивали. Нужен скроллбар который можно таскать мышкой, и что бы он менял размер в зависимости от размера файла. Ну и желательно что бы выглядел неплохо. Кто-нибудь видел такой плагин, а если нет, то возможно ли его написать?
gvim не использую

 

actics
()

Bios nowhitelist для lenovo ThinkPad x120e

Купил себе долгожданную вайфай карточку, пришел на работу, счастливый воткнул её в ноут, и понял что у меня вендор лок. Кто может поделится образом патченого биоса, в интернетах ничего кроме exe найти не могу. Заню, что на лоре есть несколько человек с такими ноутами
init_ Я точно знаю ,что ты в свое время карточку заменил, и мне советовал) Как ты прошивал.
Злоось ради прошивки ставить особого делания нет. Ноут Lenovo ThinkPad x120e 0569

 , , , ,

actics
()

Меню переполнения в gtk

Проблема: есть GtkToolbar, в нем находится GtkToolItem, в который завернуто GtkMenuButton. Никак не пойму, как сделать так, что бы в меню переполнения находился объект с таки же меню, как в исходном GtkMenuButton. О существовании GtkMenuToolButton знаю, но мне нужен именно такой подход, плюс проблемы он не решает. Сжатый код, который демонстрирует проблему: постоянно вываливается

Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuButton
И после выбора меню вообще все сыпется. Код:
#include <gtk/gtk.h>
 
static gboolean 
on_create (GtkToolItem *tool_item, gpointer data) 
{
        GtkWidget *menu_button;
        GtkWidget *menu_item; 
        GtkMenu   *submenu;
 
        menu_button = gtk_bin_get_child(GTK_BIN(tool_item));
        submenu = gtk_menu_button_get_popup(GTK_MENU_BUTTON(menu_button));
        menu_item = gtk_menu_item_new_with_label ("goo!");
        gtk_menu_item_set_submenu (GTK_MENU_ITEM(menu_item), GTK_WIDGET(submenu));
 
        gtk_tool_item_set_proxy_menu_item(tool_item, "menuitem", menu_item);
 
        return TRUE;
}
 
int 
main (int argc, char ** argv) 
{
        GtkWidget    *main_window;
        GtkWidget    *toolbar;
        GtkWidget    *menu_button;
        GtkWidget    *menu;
        GtkWidget    *image;
        GtkToolItem  *tool_item;
        
        gtk_init (&argc, &argv);
        
        main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title (GTK_WINDOW (main_window), "Toolbar arrow test");
        gtk_window_set_resizable (GTK_WINDOW (main_window), TRUE);
 
        menu = gtk_menu_new ();
 
        menu_button = gtk_menu_button_new ();
        image = gtk_image_new_from_file ("aaa.png");
        gtk_button_set_image (GTK_BUTTON (menu_button), image);
        gtk_menu_button_set_popup (GTK_MENU_BUTTON (menu_button), menu);
 
        tool_item = gtk_tool_item_new ();
        g_signal_connect (G_OBJECT (tool_item), "create-menu-proxy", G_CALLBACK (on_create), NULL);
        gtk_container_add (GTK_CONTAINER (tool_item), menu_button);
 
        toolbar = gtk_toolbar_new();
        gtk_toolbar_set_show_arrow (GTK_TOOLBAR (toolbar), TRUE); 
        gtk_toolbar_insert (GTK_TOOLBAR (toolbar), tool_item, 0);
 
        gtk_container_add (GTK_CONTAINER (main_window), toolbar);
        gtk_widget_show_all (main_window);
 
        gtk_main();
        
        return 0;
}

 ,

actics
()

wifi модуль с хорошими дровами

У каких модули отлично ловят, нужно срочно купить новый, а то мой Realtek RTL8188CE совсем никуда не годится.

 

actics
()

О звездах

Господа, тут пошло обсуждение за велосипеды по соседству и я вспомнил давно интересовавший меня вопрос, ибо с механикой у меня не хорошо: представим себе велосипед с глухой передачей. На нем можно ездить без тормозов, а тормозить переносом веса вперед и обратным усилием педалей(заднее колесо при этом останавливается и идет юзом). Есть передача 46 / 16. Необходимо увеличить или уменьшить переднюю звезду, что бы заднее колесо легче было увести в юз?

actics
()

Установка arch на компьютер с uefi и gpt

Прошу помощи, берусь за это дело уже раз в 4ый и все никак не могу осилить. Увидев 3 дня назад новый арчевый загрузчик с поддержкой уефи я очень обрадовался, однако по большому счету ничего не изменилось. Суть:

Создал разделы на gpt. Первый как полагается EF00, для efi, ему дал целых 512мб, что бы mkfs.vfat -F32 не выводило ворнингов. потом один под бут, на 100мб, разметил в ext2, и 2 раздела на ext4 под root и home соответственно.

Далее монтирую sda3 в /mnt, sda2 в /mnt/boot, sda1 в /mnt/boot/efi, далее делаю modprobe efivars и делаю чрут.

Далее начинаются проблемы. efibootmgr при попытке сделать -t например завершается без проблем, однако код возврата имеет равный 1, и значение таймаута не изменяет. Та же история с любыми другими запросами. grub-install тоже ничего не говорит, но стабильно возвращает 1. После перезагрузок сообтветственно граба нет. ЧЯДНТ?
Прошу помощи. не хочу опять делать это через ubuntu

 , , ,

actics
()

xmobar на нескольких мониторах

Господа, помогите советом или ссылкой, никак не могу нагуглить. Очень хочется, что бы xmobar был виден на всех мониторах (их у меня 2) и отражал текущее положение дел в данном воркспейсе

 ,

actics
()

Борьба с ШГ в urxvt и цвета

На картинке на полный экран развернут urxvt, а в окне висит lxterminal. В последнем стрелочки в виме ровные, в urxvt почему-то кривые. Долго искал, поправить не смог. Настройки lxterminal есть на скрине, в urxvt вот так:

URxvt*font:     xft:Liberation Mono:size=13:autohint=false:antialias=true:hinting=false:style=Regular
URxvt*boldFont: xft:Liberation Mono:size=13:autohint=false:antialias=true:hinting=false:style=Bold

URxvt*background: black
URxvt*foreground: white

URxvt*iconFile: /usr/share/pixmaps/gnome-terminal.xpm

URxvt*scrollBar:        false

URxvt.urlLauncher:      chromium

URxvt*saveLines:        10000

Плюс непонтно, что делать с цветами. На этой картинке слева urxvt, справа lxterminal, на последнем цвета менее режут глаза, возможно как-то поправить яркость?

PS Мини вопрос: наткнулся на мнение, что конфиги лучше хранить в .Xresources, так как .Xdefaults деприкейтед. Это правда, и где можно вообще про это прочитать? B таки да, возможно ли хранить конфиг в отдельном файле «по настоящему» а не с использованием #include?

Заранее спасибо

 

actics
()

Настраиваемость софта

Дело такое: задумался о гибкости линуксового софта. О том что в отличии от оффтопа тут все настраивается. И тут понял, что ни разу на скринах не видел декорации окон снизу или сбоку. Это вообще возможно в каких-нибудь wm?
А глобальный вопрос такой: замечали ли вы отсутствие подобных бессмысленных и беспощадных фич?

Перемещено beastie из talks

 

actics
()

Не запускается libreoffice

Кастую телепатов.
libreoffice не запускается, в терминал ничего не пишел, логов не нашел. Проходит превьюшка с лого и полоской загрузки, затем благополучно выходит. Завершается с кодом 139. после того, как завершается journalctl грузит пару секунд проц под 100.
стоит arch, версия либры последняя я из реп. Последний открытый файл - мастдайная таблица. Конфиги сносил, пакет переставлял.
Куды копать?

 ,

actics
()

раскладки в xmonad

Решил прикрутить запоминание раскладок для каждого окна. Проблема в чем: нагугленный конфиг для xxkb бажит, запоминает раскладку только после нескольких изменений последней. Потом при смене дисплея запускает прозрачное окно xxkb и прочия магия. Слышал про хук PerWindowKbdLayout, но в арче экстры я не нашел, а так ставить не хочу.

Иконки мне не надо, раскладку отлично умеет xmobar. Выбор xxkb обоснован тем, что изначально я его юзал на опенбоксе.

Поделитесь, пожалуйста, своими конфигами, или расскажите как это слделать прямо в xmonad.hs (было бы идеально)

.xxkbrc:

XXkb.group.base: 1
XXkb.group.alt: 2
XXkb.mainwindow.enable: no
XXkb.mainwindow.appicon: no
XXkb.mainwindow.in_tray: no
XXkb.button.enable: no
XXkb.controls.add_when_start: yes
XXkb.controls.add_when_change: yes
XXkb.controls.focusout: yes
XXkb.controls.mainwindow_delete: no

 , ,

actics
()

Убрать «свертки» символов Tex в vim

Добрый вечер
Понадобилось сверстать тех, открыл файл в виме, понял, что адски тормозит. Методом гугления и научного тыка было обнаружено, что тормоза возникают из-за подцветки синтаксиса, которая сворачивает некоторые команды. Например: \neq заменяет на нормальное математическое «не равно». Это возможно как-то убрать, причем так, чтоб подцветка осталась.
Спасибо.

 ,

actics
()

RSS подписка на новые темы