aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
Собираю медиа проигрыватель, который должен уметь помимо проигрывания фильмов, еще лезть в интернет и запускать некоторые программы (office, игры). Интернет и запуск программ не основные функции, поэтому по дефолту грузится оболочка медиапроигрывателя XBMC, а из нее уже можно запустить рабочий стол с программами или браузер. Посовещавшись с форумом решил, что xbmc, браузер и рабочий стол должны находиться на трех разных рабочих столах, а переключаться между ними можно командой wmctrl -s {0,1,2}. Работает это так: Стартует компьютер, запускается openbox, сразу же за ним xbmc. На home menu xbmc вынесена кнопка, например “браузер” за которой сидит скрипт bash #!/bin/bash wmctrl -s 1 /usr/bin/chromium import os pid = os.spawnv(os.P_NOWAIT,"/usr/bin/wmctrl -s 0",[]) pid = os.spawnv(os.P_NOWAIT,"/usr/bin/chromium",[]) Нижимаю на кнопку и у меня срабатывает скрипт, я перемещаюсь на экран с браузером, но браузер я вижу долю секунды, после чего вновь появляется xbmc. Когда я закрываю xbmc, я остаюсь на экране с браузром. Такое положение вещей меня не устраивает совсем. Если же на экране, где должен быть запущен xbmc запустить команду wmctrl -s 1 но с задержкой sleep 5, и в этот момент запустить xbmc, то по окончанию задержки рабочий стол переключится с xbmc на браузер нормально, как и надо. Вот как мне из xbmc переключиться на другой рабочий стол, чтобы его еще и увидеть ?? |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Никогда не сталкивался с xbmc, но почему-то мне кажется, что это он переключает на себя. Можно поискать у него в настройках – вдруг это его свойство отключаемо. Ещё можно поэкспериментировать с нажатием на кнопку – возможно, xbmc реагирует не только на нажатие, но и на отпускание. |
aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
Вижу два варианта: 1) Запустить выполнение команды wmctrl -s 0 из xbmc, но она должна выполниться в той же среде, что и выполняются команды запускаемые из терминала. 2) Запустить питон скрипт, который переключает рабочий стол, в питоне не силен, но уже начал поиск как решить эту проблему, буду рад помощи. |
aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
Вот первй вариант, запускаю через xterm вот так #!/bin/bash /usr/bin/xterm -e wmctrl -s 0 |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Среда тут ни при чём. Стол переключает назад или xbmc, или openbox. Вы же сами писали, что эффект пропадает, если вставить в скрипт задержку перед переключением. Значит, ЭТО происходит не после выполнения скрипта, а после активности в окне xbmc. Например, при отпускании кнопки. Вы проверили отпускание? |
aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
Стол переключает назад или xbmc, или openbox.Нет. Скрипт срабатывает нормально, я попадаю на первый рабочий стол, но и xbmc перемещается со второго на первый стол. Значит, ЭТО происходит не после выполнения скрипта, а после активности в окне xbmc. Например, при отпускании кнопки.Действие выполняется првильно если в консоли запускаю sleep 5 && wmctrl -s 0, а затем из этой или из другой консоли запускаю xbmc, по наступлению 5 сек в консоли выполняется wmctrl -s 0, консоль находится под xbmc. Если же запустить этот скрипт sleep 5 && wmctrl -s 0 из xbmc, то через 5 сек я увижу первый рабочий стол и опять же через сенунду увижу xbmc. Вы проверили отпускание?При нажатии на кнопку запуска скрипта ничего не происходит, срабатывание скрипта происходит только после того как я отпущу кнопку. |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
avisВот с этого надо было начинать. НИКТО кроме самого xbmc не будет перемещать xbmc на другой стол! Значит, xbmc делает это САМ. Надо смотреть его настройки на предмет отображения на рабочих столах. Если это неотключаемо, придётся искать другие способы его скрытия, помимо переключения столов. |
aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
спасибо за помощь, на родном форуме xbmc молчат пока. |
aivs |
|
Темы:
62
Сообщения:
261
Участник с: 31 октября 2006
|
На xbmc форуме никто не отвечает, если из xbmc нельзя переключиться значит надо переключаться не из xbmc (приктика показала, что это работает), но инициироваться переключение должно из xbmc. Я так понимаю, когда из xbmc выполняешь какую либо команду, она выполняется в дочернем процессе xbmc и зависит от xbmc. А вот как бы так запустить скрипт переключения xbmc из xbmc, но чтобы он не был зависем от xbmc?? |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Скрипт независим от xbmc. Это xbmc САМ реагирует на факт смены стола, либо просто на то, что вы трогаете окно xbmc мышкой. |