Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Software > Software


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

Como ejecuto un comando para terminal en java?
  #1  
Antiguo 18-jul-2012, 01:18
Avatar de Jonathan Miguel
Jonathan Miguel Jonathan Miguel está desconectado
Habitual
 
Fecha de Ingreso: 23-octubre-2011
Ubicación: Colombia
Versión: Opensuse 12.2 KDE 64Bits
Mensajes: 202
Agradecimientos: 84
Agradecido 4 Veces en 1 Mensaje
Poder de Credibilidad: 8
Jonathan Miguel está en el buen camino
Talking Como ejecuto un comando para terminal en java?

Buenas tardes a todos, me gustaría crear un interfaz creado con java aquí le adjunto una imagen, lo hago para no copiar los comando ( pereza jaja pero también por aprender ) y hacer de manera sencilla y rapida!



Alguien me puede colaborar con algún código para el botón "Ejecutar" !!

He buscado por todo lado pero no le entiendo, lo que entendí fue esa pagina pero solo sirve con ls, rm, mkdir, entre otras.



PD: estudio Ing. sistemas, voy en Programación II, los conocimientos que he recopilado son básico sobre el funcionamiento de Netbeans y el lenguaje de programación JAVA.
Responder Citando
  #2  
Antiguo 18-jul-2012, 13:23
Avatar de davmont
davmont davmont está desconectado
Moderador
 
Fecha de Ingreso: 13-diciembre-2007
Ubicación: ~/
Versión: 12.3 x86_64
Mensajes: 2.871
Agradecimientos: 78
Agradecido 141 Veces en 125 Mensajes
Poder de Credibilidad: 14
davmont está en el buen camino
has probado a usar zypper y demás...

El principal problema que le veo es que varios de los comandos se deben ejecutar como root, por lo que requerirás de una autorización previa...

Prueba a ejecutar un comando como "zypper se paquete_a_buscar", que probablemente te deje (por no ser necesario ser superusuario)

Un saludo
__________________
No atiendo consultas sobre Linux/openSUSE por privado, usad el foro que para algo está
Normas del foro, de lectura obligada


Responder Citando
  #3  
Antiguo 18-jul-2012, 21:23
Avatar de Jonathan Miguel
Jonathan Miguel Jonathan Miguel está desconectado
Habitual
 
Fecha de Ingreso: 23-octubre-2011
Ubicación: Colombia
Versión: Opensuse 12.2 KDE 64Bits
Mensajes: 202
Agradecimientos: 84
Agradecido 4 Veces en 1 Mensaje
Poder de Credibilidad: 8
Jonathan Miguel está en el buen camino
disculpe davmont, me pregunto que si es posible hacerlo, que me pida la contraseña con java para poder proceder con dicho comando como superusuario? ¿Tiene experiencia con netbeans?
Responder Citando
  #4  
Antiguo 18-jul-2012, 23:03
jcsl jcsl está desconectado
Miembro FOROSuSE
 
Fecha de Ingreso: 18-mayo-2008
Versión: Tumbleweed
Mensajes: 2.104
Agradecimientos: 0
Agradecido 973 Veces en 587 Mensajes
Poder de Credibilidad: 13
jcsl llegará a ser famoso muy pronto
Hola.

Con Java me parece complicado que se pueda hacer porque es algo de un nivel más bajo del que trabaja. Ya sabes que Java está pensado para crear aplicaciones que se puedan ejecutar en cualquier sitio, pero a cambio no incluye cosas que precisamente no funcionen en todos sitios. Mira este tema donde se comenta una forma usando JNI (busca si no sabes qué es). Una forma sencilla que se me ocurre de hacerlo es ejecutar la aplicación como superusuario y entonces ya podrás ejecutar el comando que quieras. Por ejemplo, creas un script bash como éste en el directorio donde tengas el archivo jar de tu programa

#!/bin/sh
cd `dirname $0`
java -jar ./nombre_del_jar.jar
cd $OLDPWD
y luego haces ejecutable el script y creas un lanzador para ejecutarlo. En KDE la orden que tendrías que añadir al lanzador sería algo como:
kdesu /ruta_al_script_del_paso_anterior/nombre_del_script
Un ejemplo cutre. Como no es una aplicación gráfica, ejecútala en la consola con su -c "java TestSudo" después de compilarla con javac TestSudo.java. En la salida verás que el nombre del usuario bajo el que se ha ejecutado es root.

Código:
import java.io.*;
import java.util.ArrayList;


public class TestSudo
{
	public static void main (String [] args)
	{
		BufferedReader stdOutErr = null;
		Process        p  = null;
		ProcessBuilder pb = null;
		ArrayList <String> orden = new ArrayList <String> ();
		orden.add ("whoami");

		pb = new ProcessBuilder (orden);
		pb.redirectErrorStream (true);

		try
		{
			p = pb.start ();
		}
		catch (java.io.IOException ie)
		{
			ie.printStackTrace ();
		}

		try
		{
			stdOutErr = new BufferedReader (new InputStreamReader (p.getInputStream (), "utf-8"));
		}
		catch (UnsupportedEncodingException uee)
		{
			uee.printStackTrace ();
		}

		try
		{
			String linea;

			while ((linea = stdOutErr.readLine ()) != null)
         {
				System.out.println (linea);
         }
		}
		catch (IOException ie)
		{
			ie.printStackTrace ();
		}
	}
}
Si tienes dudas busca un poco antes de preguntar porque el ejemplo es bastante explícito. Si luego sigues sin entender lo que sea vuelves a preguntar.

Un saludo.
Responder Citando
Respuesta

Marcadores


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Software libre y GNU/Linux Jersoncito El Contubernio 1 26-jun-2012 05:06
Instalación jDownloader en Linux:Suse, Ubuntu y Windows. Trucos, manuales, tutoriale. tranzorx FAQs, Manuales y Tutoriales 15 22-nov-2010 00:45
Bienvenido a GNU/Linux (I) karlggest FAQs, Manuales y Tutoriales 9 09-sep-2008 13:04
Wiimote para Suse 10.2 Serfaksan General OpenSUSE 0 22-may-2007 03:16
Acelerando los discos duros en GNU/Linux DiabloRojo FAQs, Manuales y Tutoriales 0 31-oct-2006 21:42



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 04:07.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba