Переключение между Unity 3D и unity 2D [закрыто]

Как правило, я предпочитаю Unity 3D 2D-версии, которая на моей машине не работает. Однако я часто провожу презентации, а Compiz не поддерживает несколько экранов. Мне приходилось выходить из 3D и в 2D каждый раз, когда я выступаю с презентацией, а затем возвращаться в 3D, чтобы получить более удобный рабочий стол.

Чтобы избежать этого неудобства, я написал сценарий для переключения между Unity 2D и 3D без необходимости выхода из системы. К сожалению, когда я запускаю его из 2D, я получаю работу в 3D, плюс панель 2D и программу запуска. Оба находятся на экране одновременно. Я подозреваю, что 2D-процессы, которые я убиваю, каким-то образом возрождаются. Может ли кто-нибудь помочь мне отладить мой скрипт?

#!/bin/bash

set -x

unity_2d="unity-2d-places unity-2d-launcher unity-2d-panel unity-2d-spread"

start_2d() {
  metacity --replace &
  for i in $unity_2d; do
    "$i" &
  done
}

stop_2d() {
  killall $unity_2d  # The lack of quotes around $unity_2d is deliberate.
}

start_3d() {
  unity --replace &
}

stop_3d() {
  : # no-op for now
}

if ps -u "$USER" | grep -q [m]etacity; then
  # Unity 2D is currently running.
  stop_2d
  start_3d
else
  # Unity 3D is currently running.
  stop_3d
  start_2d
fi

Редактировать

Мой скрипт работает, когда я вхожу в 3D. Не работает, когда я вхожу в 2D. Итак, это работает для моего наиболее распространенного варианта использования, но тот факт, что он не работает, говорит мне, что я делаю что-то не так.

4
задан 8 August 2011 в 12:19

1 ответ

Когда Вы выполняете метагород - замена, я ожидал бы, что это закончит сессию Compiz для Вас. Следовательно, возможно, помогло бы, не назвали ли Вы stop_3d, но просто start_2d. Могло бы иметь место, что Вы теперь вручную уничтожаете 3D, который инициировал перезапуск Compiz, однако, прежде чем это будет перезапущено, 2D, будет запускаться, но думать 3D, не работает и, следовательно, не заканчивают его правильно (не инициировав перезапуск).

Просто догадка, но Вы никогда не знаете.

0
ответ дан 1 December 2019 в 12:38

Другие вопросы по тегам:

Похожие вопросы: