librerias - Instalar silenciosamente el instalador de ejecución de Qt en el servidor de ubuntu
qt libraries ubuntu (3)
Quería saber si hay una manera de hacer una instalación silenciosa del instalador de ejecución de Qt en Ubuntu Server.
Me refiero a omitir las opciones del instalador y hacer una instalación predeterminada.
A partir del instalador 3.0.2-online
29-11-2017, debe agregar un retraso en su secuencia de comandos JS porque el botón "Siguiente" en la página "Bienvenido" está desactivado por un segundo más o menos.
Controller.prototype.WelcomePageCallback = function() {
gui.clickButton(buttons.NextButton, 3000);
}
Hay pocas diferencias menores al responder las preguntas del asistente para un tipo diferente de versión de Qt. Para hacerlo más simple, he empacado un script genérico para extraer Qt de un instalador fuera de línea / en línea.
El script: qtci / extract-qt-installer en master · benlau / qtci
Ejemplo de uso:
extract-qt-installer qt-opensource-linux-x64-android-5.5.1.run ~/Qt
Variables de entorno"
VERBOSE [Optional] Set to "true" will enable VERBOSE output
QT_CI_PAGEAGES [Optional] Select the components to be installed instead of using default (eg. QT_CI_PAGEAGES="qt.59.gcc_64")
Además, tiene pocos scripts para descargar e instalar Qt con diferentes versiones.
El kit de herramientas de Qt se empaqueta utilizando el Marco de instalador de Qt (QtIFW). Los instaladores QtIFW admiten una opción --script
que le permite controlar programáticamente la instalación a través de la API Controller Scripting . Aquí está el archivo qt-installer-noninteractive.qs
para instalar Qt 5 de forma no interactiva:
// Emacs mode hint: -*- mode: JavaScript -*-
function Controller() {
installer.autoRejectMessageBoxes();
installer.installationFinished.connect(function() {
gui.clickButton(buttons.NextButton);
})
}
Controller.prototype.WelcomePageCallback = function() {
gui.clickButton(buttons.NextButton);
}
Controller.prototype.CredentialsPageCallback = function() {
gui.clickButton(buttons.NextButton);
}
Controller.prototype.IntroductionPageCallback = function() {
gui.clickButton(buttons.NextButton);
}
Controller.prototype.TargetDirectoryPageCallback = function()
{
gui.currentPageWidget().TargetDirectoryLineEdit.setText(installer.value("HomeDir") + "/Qt");
gui.clickButton(buttons.NextButton);
}
Controller.prototype.ComponentSelectionPageCallback = function() {
var widget = gui.currentPageWidget();
widget.deselectAll();
widget.selectComponent("qt.55.gcc_64");
widget.selectComponent("qt.55.qtquickcontrols");
// widget.deselectComponent("qt.tools.qtcreator");
// widget.deselectComponent("qt.55.qt3d");
// widget.deselectComponent("qt.55.qtcanvas3d");
// widget.deselectComponent("qt.55.qtlocation");
// widget.deselectComponent("qt.55.qtquick1");
// widget.deselectComponent("qt.55.qtscript");
// widget.deselectComponent("qt.55.qtwebengine");
// widget.deselectComponent("qt.extras");
// widget.deselectComponent("qt.tools.doc");
// widget.deselectComponent("qt.tools.examples");
gui.clickButton(buttons.NextButton);
}
Controller.prototype.LicenseAgreementPageCallback = function() {
gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true);
gui.clickButton(buttons.NextButton);
}
Controller.prototype.StartMenuDirectoryPageCallback = function() {
gui.clickButton(buttons.NextButton);
}
Controller.prototype.ReadyForInstallationPageCallback = function()
{
gui.clickButton(buttons.NextButton);
}
Controller.prototype.FinishedPageCallback = function() {
var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm
if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) {
checkBoxForm.launchQtCreatorCheckBox.checked = false;
}
gui.clickButton(buttons.FinishButton);
}
Este script muestra cómo seleccionar / deseleccionar ciertos componentes. Personalícelo para sus necesidades o simplemente elimine las líneas por completo para una instalación predeterminada. Del mismo modo, es posible que desee personalizar o eliminar la línea TargetDirectoryLineEdit
. Ejecute el instalador de Qt como:
qt-opensource-linux-x64-5.5.1.run --script qt-installer-noninteractive.qs
Add -platform minimal
para una instalación sin cabeza. Los instaladores futuros basados en versiones más nuevas de QtIFW deberían poder usar una opción --silent
lugar (vea QTIFW-166 ).
Agregue --verbose
para una salida de consola más detallada (útil para recoger nombres de componentes, nombres de páginas de asistentes, etc.)