Вот то, как это сделано:
# Must install 7 first or else when uninstalling six, it will try to install a bunch of replacement gcj stuff.
sudo apt-get install openjdk-7-jdk
sudo apt-get remove openjdk-6-jre
sudo apt-get remove openjdk-6-jre-lib
Впоследствии:
> java -version
java version "1.7.0_03"
OpenJDK Runtime Environment (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-1ubuntu3)
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
Что Вы хотите произойти, когда команда закончена? Экранная сессия заканчивается, когда нет никаких более рабочих команд, поэтому если Вы хотите иметь в наличии сессию, необходимо будет выполнить другую команду.
Если Вы хотите иметь в наличии окно и выполнить больше команд это это, выполнить оболочку, когда начальная команда заканчивается.
screen -S webserver -dm sh -c 'launch_webserver.sh; echo $?; exec bash -i'
Если Вы хотите иметь в наличии окно только, чтобы видеть вывод, выполнить команду, которая ожидает, такой как sleep
(с почти бесконечным аргументом) или read
(ожидает, пока Вы не нажимаете Enter).
screen -S webserver -dm sh -c 'launch_webserver.sh; echo $?; read'
Если Вы хотите иметь в наличии сессию, но не окно, выполнить другую команду. Необходимо будет записать screenrc файл (который является хорошей идеей так или иначе).
screen -c /path/to/webserver.screenrc
где /path/to/webserver.screenrc
содержит
sessionname webserver
screen -t webserver launch_webserver.sh
screen -t shell bash