Dne út 22.
října 2019 Michael napsal(a):
Is this possible?
Have several tabs open in Konsole. Upon (re)login to TDE have program A
automatically run in tab A, program B automatically run in tab B,
program C automatically run in tab C?
Thanks,
Michael
On Tuesday 22 October 2019 12:50:22 pm Dr. Nikolaus Klepp wrote:
Not on the easy way. But you could do some shell
magic. First start konsole
with enhanced dcop capabilities: $ konsole --script
Then you can send command to konsole with dcop, e.g. execute "ls -l"
(konsole-16979 will definitly be different whan you try - and watch the
linebreak inside the ""):
$ dcop konsole-16979 session-1 feedSession "ls -l
"
On Tuesday 22 October 2019 12:52:56 pm Slávek Banko wrote:
in the Konsole you can create your own Sessions.
Opening such a Session
executes the command set in Session configuration. And then, when saving a
TDE session, a Konsole will remember which Session was open on which tab.
Sessions, Profiles, oh My! Konsole you’re just a big pita...
Nothing will restore Konsole to a perfect copy of itself, except for
auto-restart upon logout. If you close it, even profiles won’t get you back
to exactly where you where. If we could somehow use the saved session
in .trinity/share/config/session, this would be a lot easier. (See [1] for
how to “rescue” most of a setup from another PC.)
Since no one thing would get me where I’m trying to go I borrowed both of
your’s code and thoughts.
Thanks to both Nik and Slávek! I doubt I would have found all the pieces to
get this to work otherwise.
Best All,
Michael
How to Guide to have Konsole open with exactly what you want and where.
- First completely fix up Konsole how you want it.
Everything! Tab titles, colors, widow size and location, ...
- Then save a Profile.
Konsole > Settings > Save Sessions Profile > global
(Change ‘global’ to whatever name you like)
- Easiest to use kdcop to get Height,Width, and other information
# kdcop &
Or command line if you want to use that (I snipped much junk):
michael@local [~]# dcop | grep kons
konsole-13221
michael@local [~]# dcop konsole-13221
konsole-mainwindow#11
michael@local [~]# dcop konsole-13221 konsole-mainwindow#11 height
633
michael@local [~]# dcop konsole-13221 konsole-mainwindow#11 width
1090
michael@local [~]# dcop konsole-13221 konsole-mainwindow#11 x
822
michael@local [~]# dcop konsole-13221 konsole-mainwindow#11 y
0
- Modify and save a copy of the shell script below.
Make it executable, and add a TDE menu item or Panel button for it as desired.
The sleep is needed (even on my AMD Ryzen 7 2700X)
Shell script:
#!/bin/bash
konsole --script --profile global &
PID=`echo $!`
# echo $PID
# dcop | grep kons
sleep 2s
dcop "konsole-$PID" session-1 feedSession
"/home/michael/common/bin/ssh01i
"
dcop "konsole-$PID" session-2 feedSession
"/home/michael/common/bin/ssh03i
"
dcop "konsole-$PID" session-3 feedSession
"/home/michael/common/bin/ssh04i
"
dcop "konsole-$PID" session-4 feedSession "su -
"
dcop "konsole-$PID" konsole-mainwindow#11 resize 1090 633
dcop "konsole-$PID" konsole-mainwindow#11 move 822 0
###EOF##########################
[1]
You have your perfect Konsole setup on some other machine?:
(This won’t start your prior running programs though)
- Log out of TDE (old machine)
- rsync the old machine’s .trinity/share/config directory somewhere local on
the new machine
- Login to TDE (new machine)
- Have Konsole open
- Log out of TDE
- CTR-ALT-F1
- Log in as you
- cd (make sure you’re in your user’s root)
- grep -i "konsole" .trinity/share/config/ksmserverrc
- copy your other machine’s konsole session file over the one listed in
ksmserverrc *
- exit
- CTR-ALT-F7
- Log in to TDE
- Welcome to the magic of TDE restart/reload...
* Example:
(Since the filenames are so long, I added 2 blank lines between each for
readability.)
cp
/home/m2/michael/.trinity/share/config/session/konsole_10616e6f6e000146717061500000152190023_1564505343_595166
/home/michael/.trinity/share/config/session/konsole_1028c1d320b210000154648525000000265210025_1565129749_505478
:-)
Now I need a time machine back to 2008, when i needed just that and could not get my mind
twisted enought to do it ...
Nik
--
Please do not email me anything that you are not comfortable also sharing with the NSA,
CIA ...