Forum: PC Hard- und Software linux shell öffnen


von hubert (Gast)


Lesenswert?

Linux treibt mich mal wieder zur Verzweiflung. Mein Ziel ist es mit 
einem Doppelklick auf einem Icon eine Shell zu öffnen und automatisiert 
Module laden. Danach soll diese Shell geöffnet bleiben, um darauf 
arbeiten zu können. Geht das?

von Jemand (Gast)


Lesenswert?

Das Betriebssystem hat überhaupt nichts mit deinem Problem zu tun.

von Peter Lustig (Gast)


Lesenswert?

hubert schrieb:
> Linux treibt mich
> mit einem Doppelklick auf einem Icon

Moin, das sind schon mal ein paar Fehler drin.
1. Bei Linux kannst du kein Icon doppelklicken.
Wenn dann geht das bei einem XWindow System, z.Bsp. Gnome KDE oder so

2. Doppelklicks machen Microsoftleute. Und bei Windows 10 kannst du eine 
Linux Shell aus einem Ubuntu System starten.

Was für Module sollen geladen werden?

von hubert (Gast)


Lesenswert?

Also:

Es handelt sich um GNOME.

Mit Doppelklick meine ich, dass ich auf dem Desktop einen "launcher" 
erstellt habe.
Dieser soll ein Shellscript aufrufen, in der alle zu ladende module 
drinstehen:

cd ~
module load <modul1>
module load <modul2>
clear

Die Shell, die dieses Skript ausführt soll aber geöffnet bleiben, um auf 
ihr zu arbeiten!

von hubert (Gast)


Lesenswert?

Jemand schrieb:
> Das Betriebssystem hat überhaupt nichts mit deinem Problem zu tun.

Irgendwie ja schon, sonst müsste ich mich mit dem module load nicht 
rumschlagen...

von xxx (Gast)


Lesenswert?

Vielleicht wär das eine Lösung:

Möchte man ein Modul, welches der Kernel nicht automatisch mit lädt, 
beim Systemstart automatisch laden, so trägt man den Modulnamen einfach 
in die Datei /etc/modules ein. Dazu öffnet man diese Datei mit einem 
Editor mit Root-Rechten [3] und macht die entsprechenden Einträge, wobei 
pro Zeile nur ein Modulname eingetragen werden darf. Ab dem nächsten 
Systemstart werden alle Module (zusätzlich) geladen, die dort 
eingetragen sind.

https://wiki.ubuntuusers.de/Kernelmodule/

von Peter Lustig (Gast)


Lesenswert?

Dann nimm das:
https://wiki.ubuntuusers.de/Kernelmodule/

Da ist das richtige dabei.

von hubert (Gast)


Lesenswert?

So wie ich es machen möchte ist es also nicht möglich?

von rbiks (Gast)


Lesenswert?

Dem Beispiel nach zu urteilen meinst Du nicht Kernel- sondern 
Environment-Module, oder?

Wenn ja, wäre es am geschicktesten, Du lädst Deine Module über die 
.bashrc (vorausgesetzt, Du nutzt die bash als Standardshell).

- rbiks

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Es könnte funktionieren, als letztes Kommando in Deinem Shellskript 
mittels "bash -i" eine interaktive Subshell zu starten.

von Anonymous U. (gastt)


Lesenswert?

Andreas S. schrieb:
> Es könnte funktionieren, als letztes Kommando in Deinem Shellskript
> mittels "bash -i" eine interaktive Subshell zu starten.

Ich habe folgendes in eine launch.sh Datei geschrieben:
1
cd home/Desktop
2
alias fuckoff='echo thats_bad_language_you_sucker!'
3
clear
4
echo Test
5
ls
6
bash -i

Wenn ich sie nun ausführe, so bleibt zwar das Fenster offen, aber der 
alias wird nicht mehr erkannt. Was eigentlich auch logisch ist, weil ja 
eine neue shell gestartet wurde. Genauso verhält es sich mit meinen 
environment modulen. Gibt es da wirklich keine Lösung, sowas ist doch 
ein Standardproblem?

von Bernd K. (prof7bit)


Lesenswert?

Anonymous U. schrieb:
> sowas ist doch
> ein Standardproblem?

Eigentlich nicht. Wenn Du irgendwann mal verraten würdest was das für 
ominöse Module sind weiß vielleicht auch jemand wie man die 
normalerweise am besten automatisch lädt.

ansonsten hat bash noch die --rcfile Option bei der man bash beim Start 
ein anderes .bashrc unterjubeln kann das beim Start ausgeführt wird, 
also sowas wie

KDE
1
konsole -e bash --rcfile <(echo "echo 'hello world'")
1
konsole -e bash --rcfile <(echo "alias foo='echo \"hello world\"'")
1
konsole -e bash --rcfile ~/dein/script.sh


Gnome: musst rausfinden ob es dort auch -e heißt

von Rolf M. (rmagnus)


Lesenswert?

hubert schrieb:
> Jemand schrieb:
>> Das Betriebssystem hat überhaupt nichts mit deinem Problem zu tun.
>
> Irgendwie ja schon, sonst müsste ich mich mit dem module load nicht
> rumschlagen...

Ich benutze Linux seit über 20 Jahren und kenne dieses Kommando nicht. 
Wenn ich es auf meinem Linux-System eingebe, sagt es mir: "module: 
Befehl nicht gefunden.". Vielleicht kannst du ja mal erklären, um was es 
sich bei diesem ominösen Kommando handelt und warum du das über ein Icon 
auf dem Desktop starten musst.
Darf das denn nur in dieser bestimmten Instanz der Shell ausgeführt 
werden oder immer? In letzterem Fall wäre es besser, das in deiner 
~/.bashrc einzutragen, oder falls es für alle Benutzer gelten soll in 
der /etc/bash.bashrc.

von Anonymous U. (gastt)


Lesenswert?

Bei den module Befehlen handelt es sich um ein Linux tool:
https://uisapp2.iu.edu/confluence-prd/pages/viewpage.action?pageId=115540061

Ist aber auch egal. Es geht mir darum eine Shell zu öffnen und nicht 
jedes mal die gleiche Abfolge von Befehlen einzutippen, wenn ich eine 
bestimmte Konfiguration öfters brauche.

Der Tipp mit dem --rcfile hört sich etzalda ned schlecht an. Werde ich 
demnächst mal probieren.

von Rolf M. (rmagnus)


Lesenswert?

Ok, dann ist das wohl spezifisch für dieses Schul-Linux. Ich würde dann 
die Variante von Bernd vorschlagen, sofern diese Modul-Kommandos nicht 
immer für den Benutzer, sondern nur beim Klicken auf dieses Icon 
ausgeführt werden sollen. Noch ein paar Hinweise dazu:

Bernd K. schrieb:
> konsole -e bash --rcfile ~/dein/script.sh

Man kann auch gleich beim Anlegen des Icons sagen, dass das Programm in 
einer Konsole geöffnet werden soll.
Wenn gewünscht, kann man der Konsole ein anderes Profil mit z.B. anderer 
Hintergrundfarbe geben, um zu kennzeichnen, dass die besondere 
Einstellungen verwendet.
Und es wäre sinnvoll, in dem eigenen Skript dann am Anfang die 
/etc/bash.bashrc und ~/.bashrc zu sourcen, denn die werden beim obigen 
Kommando ja nicht mehr direkt ausgeführt:
1
When an interactive shell that is not a login shell is started,  bash
2
reads  and  executes commands from /etc/bash.bashrc and ~/.bashrc, if
3
these files exist.  This may be inhibited by using the --norc option.
4
The --rcfile file option will force bash to read and execute commands
5
from file instead of /etc/bash.bashrc and ~/.bashrc.

von Guido L. (guidol1970)


Lesenswert?

hubert schrieb:
> Linux treibt mich mal wieder zur Verzweiflung. Mein Ziel ist es mit
> einem Doppelklick auf einem Icon eine Shell zu öffnen und automatisiert
> Module laden. Danach soll diese Shell geöffnet bleiben, um darauf
> arbeiten zu können. Geht das?

geht es nicht,wenn Du in Deinem HomeDir ein .sh Shell Script anlegst und 
dann -wie bei Windows - ein Desktop Icon anlegt mit der Pfadverknuepfung 
auf das Shell-Script?
Bei Ubuntu Mate sollte das gehen....evtl. muss man nur schauen, dass das 
Fenster nach dem laden der Module nicht gleich wieder zu geht....

von Sheeva P. (sheevaplug)


Lesenswert?

Anonymous U. schrieb:
> Bei den module Befehlen handelt es sich um ein Linux tool:
> https://uisapp2.iu.edu/confluence-prd/pages/viewpage.action?pageId=115540061

Hast Du das betreffende Werkzeug denn installiert? Auf allen mir 
bekannten Linux-Systemen gehört das nicht zum Umfang einer 
Standardinstallation.

von Marcus H. (mharnisch) Benutzerseite


Lesenswert?

Rolf M. schrieb:
> Ok, dann ist das wohl spezifisch für dieses Schul-Linux.

Nicht ganz. Das ist so ziemlich der Standard mit denen in (meist 
großen) Firmen zwischen Software Versionen “umgeschaltet” wird, die zum 
Teil sehr lange parallel vorgehalten werden müssen. Stichworte: 
Produktpflege, Configuration Management.
Ein weiteres Ziel ist, das Environment nicht unnötig zuzumüllen (Pfade, 
LM_LICENSE_FILE, etc).
Unter anderem werden Abhängigkeiten aufgelöst, d.h. ein Modul kann 
seinerseits Module laden, bzw. Konflikte melden.
Benutzer können sich ihre eigenen Module erzeugen, in denen sie dann die 
komplette Tool Umgebung für ein Pojekt laden.
Früher(TM) hatte zu diesem Zweck jede Firma ihr eigenes mehr oder 
weniger gut funktionierendes Skript, das der Admin irgendwie zurecht 
geklöppelt hat. Seit dem hat sich dieses Modules System durchgesetzt.

von Anonymous U. (gastt)


Lesenswert?

Falls es irgendjemanden interessiert:
Problem erkannt, Problem gebannt. Die module konnten nicht geladen 
werden weil der Befehl der neu geöffneten Shell (andere als 
Ursprüngliche, bash) nicht bekannt war. Ich musste nur das passende 
Skript finden, das den alias für den module Befehl anlegt und schon 
gings.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.