How to solve the error when opening terminal using python under linux

王林
Release: 2023-05-02 17:43:32
forward
1304 people have browsed it

When using python to open the terminal under linux, an error occurs

Scenario 1: Execute automated tasks on jenkins, use the jenkins user (with sudo permissions) when executing test tasks, and the test script is in linux When executing (background), an error occurs when the following code is executed:

os.system(f"/usr/bin/konsole -e {cmd_orin2_10s}")
Copy after login

Scenario 2: There is no problem with the test script being executed locally. When executing locally, the root user can be used and the command window can be opened normally

Error log:

17:44:03  qt.qpa.xcb: could not connect to display 
17:44:03  qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
17:44:03  This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
17:44:03  
17:44:03  Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
Copy after login

Solution:

It can be compared from scenario 1 and scenario 2, it should be caused by environment variables cause. To find the problem from the environment variables and the displayed window, you can find export DISPLAY=":0.0"

Supplement: pycharm runs without problems but the terminal (terminal) runs various modules. Problem

Problem Description

Many times you are used to using pycharm and have everything done, but you ignore many path problems. Occasionally, you need to interact with other environments and platforms. For example, if you write a C# program to call python, it is equivalent to passing parameters to the terminal to start. At this time, various No module problems will be displayed. The reason is because the external environment calls the python interface. , you have to look for each module in your program, but if these modules have not been added to the environment variables, they will not be found. Therefore, it is recommended to use the following statement at the front of each py file used

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
Copy after login
  • This operation can add the entire upper-level directory of the current file to the environment variable, so that all files under the upper-level directory can be easily called

  • If you have many directory levels and the current directory is in a deep location, then you can slightly change this command to include all the files and directories you want to use, such as Yes

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../')
Copy after login
  • Of course if you just want to call all directories under the current folder, then you can use

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + './')
Copy after login

The above is the detailed content of How to solve the error when opening terminal using python under linux. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!