Python - Abrir la terminal desde python en ubuntu

 
Vista:

Abrir la terminal desde python en ubuntu

Publicado por alber (2 intervenciones) el 20/04/2023 10:26:27
Buenas, ¿hay alguna forma de abrir la terminal desde un botón de Tkinter en Ubuntu?

He estado utilizando os.system y ejecutando una orden, pero el problema es que yo uso Visual Studio Code, que tiene su propia terminal y el código se ejecuta ahí, cuando a mí me gustaría que se abriese una terminal fuera del entorno.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Abrir la terminal desde python en ubuntu

Publicado por Rolando José (76 intervenciones) el 11/04/2026 18:06:01
Si hay una forma pero por ser muy peligrosa no la vas a encontrar en la documentacion de python,

Sinembargo cuando piensen en tkinter, deben pensar que tkinter es una libreria de python para ejecutar scripts de TCL/TK que es en realidad el lenguaje que se ejecuta por debajo, mientras se muestra el GUI.

En TCL/TK el comando para ejecutar comandos es "exec" por tanto en tkinter debe existir dicho metodo, porque tkinter es solo una libreria para ejecutar scripts de TCL/TK por debajo de python.

Por eso se usa TCL/TK, porque el lenguaje es mucho mas sencillo y pequeño que python, el TCL/TK no necesita importar os o math o sys porque los trae integrados, y tan solo ocupa el %10 de python.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Abrir la terminal desde python en ubuntu

Publicado por Rolando José (76 intervenciones) el 19/05/2026 21:37:35
Con python no creo que se pueda por seguridad, pero aprovechando a tkinter que es una libreria que puede llamar al lenguaje tcltk para que trabaje embebido, se puede hacer codigo de tcltk, como tcltk es el unico lenguaje que ha logrado ser multiplataforma, este codigo deberia funcionar para Windows, Linux o Mac para hacer lo que quieres y lo voy a poner en un ejemplo aqui:

quizas el unico problema es que en Linux y Mac no existe un calc.exe, porlo que se va a necesitar un boton que ejecute un programa, pero un cuadro de dialogo de archivos para buscar el ejecutable que se desea ejecutar con el boton.

Este programa va a ser una barra superior de izquierda a derecha de la pantalla que tenga un boton "RUN" y un cuadro de dialogo para poner la ruta del ejecutable o lo que se quiera ejecutar.
Por seguridad, pondremos un boton find para buscar en el disco duro la posicion del ejecutable que deseamos ejecutar con el boton "Run"

tendra que ser guardado el codigo como un .py porque sigue siendo un python, que llama a tkinter y tkinter ejecuta el codigo de tcl, con la ventaja que no se requiere llamar librerias como os, porque en tcltk, no se necesitan esas librerias para acceder al sistema operativo donde corre python, ni para recorrer las carpetas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import tkinter as tk
w=tk.Tk()
code='''
#!/usr/bin/wish
proc tmsg {{txt ""} {ty "ok"} {img "info"}} {return [tk_messageBox -message $txt -type $ty -icon $img]}
catch {destroy .t}
toplevel .t -bg "#000"
set ws [winfo screenwidth .]
wm geometry .t "[expr $ws]x100+0+0"
wm withdraw .
pack [button .t.br -text "RUN" -font "Arial 20 bold" -bg "#000" -fg "#FF0" -command {
if {[file exist $rutacmd]} {
tmsg [exec $rutacmd]
}}] \
[entry .t.er -textvar rutacmd -width 50 -font "Arial 20" -fg "#F00"] \
[button .t.fi -text "search cmd:" -command {set rutacmd [tk_getOpenFile -filetypes {{{EXE} {*.exe}} {{ALL} {*.*}}}]}] -side left -expand 1 -fill both -pady 10
'''
w.eval(code)
w.mainloop()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar