Skip to content

Commit 8ef6e33

Browse files
authored
Revise FAQs for LabVIEW headless mode and containers (#33)
* Revise FAQs for LabVIEW headless mode and containers Updated FAQ section to reflect new questions and answers regarding LabVIEW usage in headless mode and container specifications. * Fix markdown link formatting in FAQs
1 parent a792d1b commit 8ef6e33

1 file changed

Lines changed: 26 additions & 16 deletions

File tree

docs/faqs.md

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@
99
5. [Can I use the containers in GitHub Actions or GitLab CI pipelines?](#5-can-i-use-the-containers-in-github-actions-or-gitlab-ci-pipelines)
1010
6. [Why is `unattended=True` (or similar tokens) set in the config file?](#6-why-is-unattendedtrue-or-similar-tokens-set-in-the-config-file)
1111
7. [What host OS do I need to run these images?](#7-what-host-os-do-i-need-to-run-these-images)
12-
8. [I launched LabVIEW without headless mode and now LabVIEWCLI will not work, even when I pass the headless argument. What is happening?](#8-i-launched-labview-without-headless-mode-and-now-labviewcli-will-not-work-even-when-i-pass-the-headless-argument-what-is-happening)
13-
9. [Do I have to always pass the headless argument?](#9-do-i-have-to-always-pass-the-headless-argument)
14-
10. [Is there a global override that always enables headless mode for LabVIEW?](#10-is-there-a-global-override-that-always-enables-headless-mode-for-labview)
15-
11. [How do I close a headless LabVIEW instance?](#11-how-do-i-close-a-headless-labview-instance)
16-
12. [Is headless mode supported for built applications as well?](#12-is-headless-mode-supported-for-built-applications-as-well)
17-
13. [I cannot start an IDE instance and a headless instance simultaneously. Is that expected?](#13-i-cannot-start-an-ide-instance-and-a-headless-instance-simultaneously-is-that-expected)
18-
14. [How can I debug headless LabVIEW on containers without a UI?](#14-how-can-i-debug-headless-labview-on-containers-without-a-ui)
19-
15. [LabVIEWCLI fails to connect to LabVIEW on Windows containers, even with `-Headless` and VI Server enabled. What can I do?](#15-labviewcli-fails-to-connect-to-labview-on-windows-containers-even-with--headless-and-vi-server-enabled-what-can-i-do)
12+
8. [What comes pre-installed on the images?](#8-what-comes-pre-installed-on-the-images)
13+
9. [I launched LabVIEW without headless mode and now LabVIEWCLI will not work, even when I pass the headless argument. What is happening?](#9-i-launched-labview-without-headless-mode-and-now-labviewcli-will-not-work-even-when-i-pass-the-headless-argument-what-is-happening)
14+
10. [Do I have to always pass the headless argument?](#10-do-i-have-to-always-pass-the-headless-argument)
15+
11. [Is there a global override that always enables headless mode for LabVIEW?](#11-is-there-a-global-override-that-always-enables-headless-mode-for-labview)
16+
12. [How do I close a headless LabVIEW instance?](#12-how-do-i-close-a-headless-labview-instance)
17+
13. [Is headless mode supported for built applications as well?](#13-is-headless-mode-supported-for-built-applications-as-well)
18+
14. [I cannot start an IDE instance and a headless instance simultaneously. Is that expected?](#14-i-cannot-start-an-ide-instance-and-a-headless-instance-simultaneously-is-that-expected)
19+
15. [How can I debug headless LabVIEW on containers without a UI?](#15-how-can-i-debug-headless-labview-on-containers-without-a-ui)
20+
16. [LabVIEWCLI fails to connect to LabVIEW on Windows containers, even with `-Headless` and VI Server enabled. What can I do?](#16-labviewcli-fails-to-connect-to-labview-on-windows-containers-even-with--headless-and-vi-server-enabled-what-can-i-do)
21+
17. [Why do I get "Can't find library libniDotNETCoreInterop.so" error when I try launching LabVIEW?](#17-why-do-i-get-cant-find-library-libnidotnetcoreinteropso-error-when-i-try-launching-labview)
2022

2123
### 1. Can I use the LabVIEW container with the full GUI/IDE?
2224
No. The containers are designed for headless use only, meaning the LabVIEW IDE GUI is not supported inside the container.
@@ -67,43 +69,48 @@ For Windows LabVIEW images, you must use a Windows host configured to run Window
6769
- [Linux Prebuilt Images](./linux-prebuilt.md)
6870
- [Windows Prebuilt Images](./windows-prebuilt.md)
6971

70-
### 8. I launched LabVIEW without headless mode and now LabVIEWCLI will not work, even when I pass the headless argument. What is happening?
72+
### 8. What comes pre-installed on the images?
73+
All the information regarding image specifications is present under Prebuilt Images Documentation. See:
74+
- [Linux Prebuilt Images](./linux-prebuilt.md)
75+
- [Windows Prebuilt Images](./windows-prebuilt.md)
76+
77+
### 9. I launched LabVIEW without headless mode and now LabVIEWCLI will not work, even when I pass the headless argument. What is happening?
7178
Launching LabVIEW without the headless argument can show the activation wizard or other UI dialogs that block execution and require user interaction.
7279

7380
If an interactive IDE session is already running, starting a new headless LabVIEW instance will not succeed: the headless request will exit or be forwarded to the existing UI session.
7481

7582
Close the interactive LabVIEW IDE session first, then re-run your LabVIEWCLI command with the headless argument. For more details, see [Mutual Exclusivity Between Modes](./headless-labview.md#mutual-exclusivity-between-modes).
7683

77-
### 9. Do I have to always pass the headless argument?
84+
### 10. Do I have to always pass the headless argument?
7885
On Windows containers, the first use of LabVIEWCLI with the `-Headless` argument will launch LabVIEW in headless mode. Subsequent LabVIEWCLI commands can reuse that headless session even if `-Headless` is not passed again, although it is recommended to always include `-Headless` for consistency and clarity.
7986

8087
On Linux containers, you must always pass the `-Headless` argument for headless executions.
8188

8289
For more details and best practices, see [Headless LabVIEW](./headless-labview.md).
8390

84-
### 10. Is there a global override that always enables headless mode for LabVIEW?
91+
### 11. Is there a global override that always enables headless mode for LabVIEW?
8592
Yes. Setting the environment variable `LV_RTE_HEADLESS=1` will cause LabVIEW to always start in headless mode.
8693

8794
When this variable is set, you do not need to pass the `-Headless` argument on each LabVIEWCLI invocation, although using `-Headless` is still recommended for clarity in scripts.
8895

89-
### 11. How do I close a headless LabVIEW instance?
96+
### 12. How do I close a headless LabVIEW instance?
9097
Because there is no UI for headless LabVIEW, you cannot close it like a normal interactive LabVIEW window.
9198

9299
The primary way to close a headless instance is to use LabVIEWCLI's `CloseLabVIEW` operation, which cleanly shuts down the running LabVIEW process.
93100

94-
### 12. Is headless mode supported for built applications as well?
101+
### 13. Is headless mode supported for built applications as well?
95102
Yes. Invoking your LabVIEW built application with the `--headless` argument will launch the application in headless mode.
96103

97104
This allows you to apply the same non-interactive, automation-friendly behavior to built applications as you do to the LabVIEW development environment.
98105

99-
### 13. I cannot start an IDE instance and a headless instance simultaneously. Is that expected?
106+
### 14. I cannot start an IDE instance and a headless instance simultaneously. Is that expected?
100107
Yes. Headless and IDE sessions are not allowed to run in parallel.
101108

102109
If an IDE session is already running, all headless invocations will be forwarded to the existing IDE session. If a headless session is running, you must close it (for example, using LabVIEWCLI's `CloseLabVIEW` operation) before starting a new LabVIEW IDE session.
103110

104111
For more details, see [Mutual Exclusivity Between Modes](./headless-labview.md#mutual-exclusivity-between-modes).
105112

106-
### 14. How can I debug headless LabVIEW on containers without a UI?
113+
### 15. How can I debug headless LabVIEW on containers without a UI?
107114
Lack of a UI in containers can make debugging harder, but there are several sources of information that help you identify issues:
108115

109116
1. LabVIEWCLI writes error and status information to the console output. Capture this output in your CI logs for later analysis.
@@ -112,7 +119,7 @@ Lack of a UI in containers can make debugging harder, but there are several sour
112119

113120
Reviewing these logs together usually provides enough detail to diagnose most headless issues.
114121

115-
### 15. LabVIEWCLI fails to connect to LabVIEW on Windows containers, even with `-Headless` and VI Server enabled. What can I do?
122+
### 16. LabVIEWCLI fails to connect to LabVIEW on Windows containers, even with `-Headless` and VI Server enabled. What can I do?
116123
Windows containers can be resource-intensive. Even when all requirements are met, processes inside a Windows container may take longer than expected to start.
117124

118125
In some cases, LabVIEW launches correctly in headless mode, but by the time it is ready to accept VI Server connections, LabVIEWCLI has already timed out. A subsequent invocation often succeeds once LabVIEW is fully initialized.
@@ -126,3 +133,6 @@ You have a few options to improve reliability:
126133

127134
Setting these tokens to higher values can help LabVIEWCLI tolerate slower startup times inside Windows containers.
128135

136+
### 17. Why do I get "Can't find library libniDotNETCoreInterop.so" error when I try launching LabVIEW?
137+
This is just a debug warning and does not break LabVIEW's functionality and can be ignored safely.
138+

0 commit comments

Comments
 (0)