কীভাবে কোনও আলাদা ওয়ার্কস্পেসে অ্যাপ্লিকেশন শুরু করবেন?


13

আমার বর্তমানে ব্যবহৃত ব্যবহৃত থেকে আলাদা একটি ওয়ার্কস্পেসে একটি জিইউআই অ্যাপ্লিকেশন [লোটাস সিম্ফনি] শুরু করা দরকার। [যেমন: একটি জিনোম ডেস্কটপে 4 টি ওয়ার্ক স্পেস রয়েছে]]

প্রশ্ন: আমি কীভাবে এটি করব?

পিএস: এটি দরকার কারণ রিবুট হওয়ার পরে লোটাস সিম্ফনির প্রথম শুরু খুব খুব ধীর, তবে এটি একবার ব্যবহার করার পরে এটি খুব দ্রুত শুরু হয়। আমি মনে করি এটি নিজেই ক্যাশে করে। এই কারণেই আমি এটি প্রতিটি ওয়ার্কে আলাদা ওয়ার্কস্পেসে শুরু করতে চাই, সুতরাং এটির যদি আমার এটির প্রয়োজন হয় তবে পরে তা দ্রুত হবে।


আমি মনে করি আপনি জিনোমের কোন ওএস এবং কোন সংস্করণ ব্যবহার করছেন তা জানার জন্য এটি সহায়ক হতে পারে।
এনজোটিব

উবুন্টু 10.04 - জিনোম-ডেস্কটপ-ডেটা 1: 2.30.2-0ubuntu1
ল্যান্সবায়েন্স

উত্তর:


8

ডেভিলের পাই পরীক্ষা করুন (যদিও আমি নিশ্চিত নই যে এটি জিনোম 3 এর সাথে কাজ করবে) এবং আপনি স্ট্যাকওভারফ্লো ব্যাশে আরও দরকারী তথ্য পেতে পারেন ।

মূলত আপনার নিম্নলিখিতটি করা উচিত:

#!/bin/bash
wmctrl -n 8

firefox &
thunderbird &
/usr/bin/netbeans --locale en &
amsn &
gnome-terminal &
sleep 15

wmctrl -r firefox -t 0
wmctrl -r netbeans -t 1 
wmctrl -r terminal -t 2 
wmctrl -r amsn -t 6 
wmctrl -r thunderbird -t 7

#focus on terminal
wmctrl -a terminal 

(উপরের স্ট্যাকওভারফ্লো লিঙ্কটি থেকে আমি উপরের কোডটি কেবল অনুলিপি এবং পেজ করেছি, যেহেতু আমি মনে করি এটি নিজের ব্যাখ্যাযোগ্য)।

হালনাগাদ:

জিনোম 3 এক্সটেনশনের জন্য সেরা সাইটে আরও সহজে সমাধানের জন্য এখানে দেখুন , আপনার জিনোম for এর জন্য অটো মুভ উইন্ডোজ এক্সটেনশনটি ইনস্টল করা উচিত In যদি এটি আপনার পক্ষে কাজ না করে (আপনি লিঙ্কটিতে দেখতে পাচ্ছেন যে কিছু ডিস্ট্রো রয়েছে যা ইনস্টলেশনটির অটোমেশন সঠিকভাবে কাজ করছে না, কীভাবে এটি কাজ করবেন সে সম্পর্কে এখানে আরও বিশদ শোষণ করুন


2

মূল পোস্টটি কোনও নির্দিষ্ট কর্মক্ষেত্রে একটি অ্যাপ্লিকেশন উপস্থিত হওয়ার জন্য স্ক্রিপ্ট ব্যবহারের বিষয়ে ছিল, যেমন অন্য একটি ওয়ার্কস্পেসে লোড হওয়া খুব ধীরে শুরু হওয়া অ্যাপ্লিকেশনটি ব্যবহারকারীকে কাজ চালিয়ে যাওয়ার অনুমতি দেওয়ার জন্য অন্য একটি স্ক্রিপ্ট ব্যবহার করতে পারে script আমার স্ক্রিপ্ট কোনও কমান্ড প্রম্পট থেকে, কোনও প্রদত্ত ওয়ার্কস্পেসে যে কোনও একটি অ্যাপ্লিকেশন আরম্ভ করার জন্য, বরং জটিল ডাব্লুএমসিটিআরএল সিনট্যাক্সের জন্য ফ্রন্ট-এন্ড হিসাবে দুর্দান্ত কাজ করে। সুতরাং একটি আরও স্ক্রিপ্ট যা কেবল, lh 1 thunderbird; lh 2 firefox; lh 3 calculator...., বা যা কিছু, কেবল তালিকাভুক্ত করে এখন সহজ। টাইমিংয়ের সাথে অবশ্য কিছু অসুবিধা রয়েছে, এভাবে আমার স্ক্রিপ্টে ঘুম। নীচে আপডেট করা সংস্করণ, যা আমি আবার বজায় রাখতে বা পোস্ট করব না। AS হিসাবে ব্যবহার করুন, কোনও নির্দিষ্ট ব্যবহারের জন্য উপযুক্ততার কোনও গ্যারান্টি নেই। আপনি দয়া করে পরিবর্তন করুন। আমি সাশ্রয় হিসাবে সুপারিশ /usr/local/bin/lh, কেবল কারণlh অন্য কোনও পরিচিত প্রোগ্রামের নাম নয়, কমপক্ষে 18 মিনিটে নয় vari ভেরিয়েবলের জন্য — আমি ভেরিয়েবলগুলি উদ্ধৃত করে আমি উদ্ধৃত হওয়া প্রয়োজন বলে মনে করি।

#!/bin/sh
## Author: B.A. Computer Services www.ba-computer.com
## Purpose: Frontend to launch anything on a specific desktop/workspace.
##  lh is short for LaunchHere

USAGE="USAGE: $(basename $0) [-r] workspace(1,2,..) command\
    LaunchHere launches COMMAND on specific workspace.\
    -r option returns to current workspace"
[ -z "$1" ] && echo $USAGE && exit 0
ISRETURN=$(false); [ "$1" = "-r" ] && ISRETURN=true && shift;  
WRKSPC=$1;[ -z "$WRKSPC" ] && echo $USAGE && exit 0
WSN=$(expr $WRKSPC - 1)  ## wmctrl starts with 0 as first wrkspc
shift; CMD="$*"; [ -z "$CMD" ] && echo $USAGE && exit 0

WM=$(which wmctrl);[ -z "$WM" ] && echo MISSING wmctrl && exit 1
CURRENT=$(wmctrl -d | grep '*' | cut -c1)


# Switch to desired workspace
$WM -s $WSN
$CMD &
PID=$!
echo Executed $CMD on workspace $WRKSPC,  PID=$PID
sleep 3

# Return to CURRENT workspace ?
# [ $ISRETURN ] && echo TRUE || echo FALSE
[ $ISRETURN ] && $WM -s $CURRENT

এটি এত দুর্দান্ত। একটি যাদুমন্ত্র মত কাজ করে. অনেক ধন্যবাদ!
মাইক

0

বিটা - তবে এটি আমার জন্য লিনাক্স পুদিনায় কাজ করে।

#!/bin/sh
## Author: B.A. Computer Services www.ba-computer.com
## Purpose: Frontend to launch anything on a specific desktop/workspace.
##  lh is short for LaunchHere

USAGE="USAGE: $(basename $0) workspace(0,1,2,..) command"
WRKSPC=$1;[ -z "$WRKSPC" ] && echo $USAGE && exit 0
shift; CMD="$*"; [ -z "$CMD" ] && echo $USAGE && exit 0

WM=$(which wmctrl);[ -z "$WM" ] && echo MISSING wmctrl && exit 1

echo Executing $CMD on workspace $WRKSPC
$WM -s $WRKSPC
eval $CMD &
sleep 1
$WM -r :ACTIVE: -t $WRKSPC

evalসম্ভবত ঘটতে উচিত "$@", অথবা কমান্ড যদি তার যুক্তি কোন স্পেস বা ফাইলের নাম globbing অক্ষর, না করবে না কাজ রয়েছে। সাধারণভাবে, এই স্ক্রিপ্টটির পরিবর্তনশীল বিস্তৃতি উদ্ধৃত করা দরকার।
কুসালানন্দ

0

আমি এই থ্রেডে @ ব্যবহারকারী ২78786363৪ এর পোস্ট থেকে অনুপ্রাণিত হয়েছি , আপনাকে ধন্যবাদ।

আমি যা পরিবর্তন করেছি তা হ'ল:

  1. কমান্ড পিড পাওয়ার কারণে 'ইভাল $ সিএমডি এবং' কে 'ইভল' $ সিএমডি & "'পরিবর্তন করুন!
  2. নির্দিষ্ট কর্মের পরিবর্তে বর্তমান ওয়ার্কস্পেস রাখুন; সুনির্দিষ্ট ওয়ার্কস্পেসে কমান্ড আরম্ভ করা হচ্ছে।
  3. 1 সেকেন্ডের ঘুমের চেয়ে উইন্ডো-আইডি পাওয়া যাওয়ার ঠিক পরে কমান্ডটি নির্দিষ্ট ওয়ার্কস্পেসে সরিয়ে নিন। এটি আমার জন্য কিছুটা গুরুত্বপূর্ণ কারণ আমি সাধারণত প্রতিটি ওয়ার্কস্পেসের জন্য 8 টি টার্মিনাল এবং এক্স-জ্যামিতির ডেস্কটপ-লগইন শুরু করার সময় খুলি। 'স্লিপ 1' ব্যবহার করার সময় এটি 8 সেকেন্ডেরও বেশি সময় নেবে যখন আমার স্ক্রিপ্টটিতে মাত্র 2..3 সেকেন্ড লাগবে।

এখানে আমার লিপিটি হ'ল:

#!/bin/sh
# = NAME
# lh - Launch Here
#
# = SYNOPSIS
# lh <workspace> <command> [<command-args>]
#
# = DESCRIPTION
# launch command (with any command-args) on a specific desktop/workspace.
#
# Example:
#
#   lh 2 xterm -geometry 80x46+881+0
#
# = Author
# Fumisky Wells

USAGE="USAGE: $(basename $0) workspace(0,1,2,..) command"
WRKSPC=$1;[ -z "$WRKSPC" ] && echo $USAGE && exit 0
shift; CMD="$*"; [ -z "$CMD" ] && echo $USAGE && exit 0    
WM=$(which wmctrl);[ -z "$WM" ] && echo MISSING wmctrl && exit 1    
eval "$CMD &"
pid=$!    
while :; do
  wid=$($WM -l -p | grep " $pid " | awk '{print $1}')
  if [ "$wid" != "" ]; then
    $WM -i -r $wid -t $WRKSPC
    exit
  fi
  # not found yet...
  sleep 0.1
done

0

Wmctrl ইনস্টল করুন

sudo apt install wmctrl

এবং একটি স্ক্রিপ্ট তৈরি করুন (উদাহরণস্বরূপ দ্বিতীয় কর্মক্ষেত্রে থান্ডারবার্ড ( -t 1)):

#!/bin/sh

 (thunderbird &)  & sleep 5 && 
sh -c "wmctrl -i -r `wmctrl -l | grep Thunderbird` -t 1"

Wmctrl এ আপনার অ্যাপ্লিকেশনটির নাম জানতে আপনি এটি আপনার টার্মিনালে আলতো চাপ দিয়ে দেখতে পারেন:

wmctrl -l

এবং এটি স্ক্রিপ্টে সঠিক নামের সাথে প্রতিস্থাপন করুন।

বড় হাতের অক্ষরে অক্ষরে থাকুন ("থান্ডারবার্ড" "থান্ডারবার্ড" নয়) !!

3 ডি ওয়ার্কস্পেসে ফায়ারফক্সের সাথে অন্য উদাহরণ ( -t 2):

#!/bin/sh
(firefox &)  & sleep 5 && 
sh -c "wmctrl -i -r `wmctrl -l | grep Firefox` -t 2"

বোনাস :

শুরুতে কমান্ডটি এখানে দেওয়া হল:

sh -c "thunderbird  & sleep 5 && wmctrl -i -r `wmctrl -l | grep Thunderbird` -t 1"

দারুচিনি দিয়ে দেবেন 10 এ কাজ করুন। তবে সবার জন্য কাজ করা উচিত

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.