gpt4 book ai didi

qt - 在 ubuntu 服务器上静默安装 Qt 运行安装程序

转载 作者:行者123 更新时间:2023-12-01 22:52:11 27 4
gpt4 key购买 nike

我想知道是否有办法在 Ubuntu Server 上静默安装 Qt run 安装程序?
我的意思是绕过安装程序的选项并进行默认安装?

最佳答案

更新的答案:

较新的 Qt 安装程序有一个适当的 CLI,允许您执行以下操作:

qt-unified-windows-x86-4.2.0-online.exe ^
--accept-licenses ^
--default-answer ^
--confirm-command install ^
qt.qt5.5158.win64_msvc2019_64 ^
qt.qt5.5158.qtcharts ^
qt.qt5.5158.debug_info ^
qt.qt5.5158.src ^
qt.tools.qtcreator

请参阅--help了解所有选项。要找出软件包名称,请进行图形安装,但在最后的确认屏幕上停止,该屏幕列出了您所有选择的软件包名称。

上一个答案

Qt 工具包使用 Qt 安装程序框架 (QtIFW) 进行打包。 QtIFW 安装程序支持 --script 选项,允许您通过 Controller Scripting API 以编程方式控制安装。以下是用于非交互式安装 Qt 5 的 qt-installer-noninteractive.qs 文件:

// Emacs mode hint: -*- mode: JavaScript -*-

function Controller() {
installer.autoRejectMessageBoxes();
installer.installationFinished.connect(function() {
gui.clickButton(buttons.NextButton);
})
}

Controller.prototype.WelcomePageCallback = function() {
// click delay here because the next button is initially disabled for ~1 second
gui.clickButton(buttons.NextButton, 3000);
}

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);
}

此脚本演示如何选择/取消选择某些组件。根据您的需要进行自定义,或者完全删除这些行以进行默认安装。同样,您可能想要自定义或删除 TargetDirectoryLineEdit 行。运行 Qt 安装程序,如下所示:

qt-opensource-linux-x64-5.5.1.run --script qt-installer-noninteractive.qs

添加-platformminimal以进行 headless 安装。基于较新版本的 QtIFW 的 future 安装程序应该能够使用 --silent 选项(请参阅 QTIFW-166 )。

添加 --verbose 以获得更详细的控制台输出(有助于收集组件名称、向导页面名称等)。 This link对于找出组件名称也很有帮助。

关于qt - 在 ubuntu 服务器上静默安装 Qt 运行安装程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25105269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com