Bagaimana saya memberi tahu program memulai untuk mulai diminimalkan?

19

Inilah pertanyaan yang telah menggangguku. Anda tahu bagaimana Anda bisa mengatur program untuk dijalankan saat start up kan? Nah, bagaimana saya bisa mengatakannya untuk mulai diminimalkan, seperti yang akan Anda lakukan di windows?

TeamViewer mulai terbuka, tapi saya perlu diminimalkan, dan Tray-sepertinya tidak elegan untuk melakukannya.

semi pemula
sumber

Jawaban:

21

Anda dapat menggunakan alat yang disebut devilspie Instal devilspie .

Alat ini dapat mengambil tindakan segera setelah program dimulai, seperti mengirim ke ruang kerja, menyematkan, dan juga meminimalkan. Tutorial ada di sini .

  • Untuk menginstalnya dari menjalankan baris perintah:

sudo apt-get install devilspie.

  • Untuk mengkonfigurasinya untuk meminimalkan Teamviewer setiap kali dijalankan:

    mkdir ~/.devilspie

Buat file yang dipanggil ~/.devilspie/teamviewer.dsdan tempelkan baris berikut:

(if  
(is (application_name) "Teamviewer")  
(begin (minimize) )  
)  

Jika Anda menginginkan gui untuk konfigurasi yang lebih mudah, Anda harus mencatat gdevilspie Instal gdevilspie

(jika GDevilspie tidak memulai coba tambal satu ).

MJB
sumber
1
Ini berfungsi, tetapi ketika saya mengembalikan jendela yang diperkecil itu menarik salah - latar belakang jendela TeamViewer menjadi salinan dari apa pun yang ada di bawahnya dan beberapa teks tidak terlihat, misalnya i.imgur.com/0p6yR.png (saya telah mengaburkan teks dalam tiga kotak teks). Aplikasi anggur lain tidak melakukan ini (Notepad ++, Picasa).
misterben
5

Saya sengaja menemukan posting ini dengan masalah yang sama dari TeamViewer tidak mulai diminimalkan ketika diatur untuk peluncuran otomatis selama startup sistem Ubuntu.
Metode yang dijelaskan oleh @MJB pada 27 Januari pukul 16:02 bekerja dengan sempurna untuk saya (saya menjalankan Ubuntu 10,10 32bit, semua pembaruan diinstal hingga tanggal ini, dengan teamviewer_linux_x32_v6.0.9224.deb).
Saya tidak mengalami gangguan yang dijelaskan oleh @misterben pada 14 Februari pukul 18:50.
Saya menginstal GDevilspie melalui Ubuntu Software Center, menjalankannya, membuat aturan baru dan mengatur GDevilspie untuk menampilkan kode berikut di tab "Raw":

( if 
( begin 
( is ( application_name ) "Teamviewer" )
( is ( window_name ) "TeamViewer" )
) 
( begin 
( minimize )
( println "match" )
)
)

Daemon devilspie diatur untuk memulai secara otomatis selama sistem start dan teamviewer diatur untuk memulai secara otomatis melalui System -> Preferences -> Startup Applications (klik Tambah, perintah: teamviewer).

Akan lebih bagus lagi jika para pengembang TeamViewer akan mengintegrasikan sebuah saklar yang diperkecil mulai untuk linux ...

Terima kasih MJB! :)

qwertz
sumber
4

Meminimalkan suatu program tergantung pada program apakah itu mendukung atau tidak. Itu juga tergantung apakah program memiliki opsi di gui atau melalui baris perintah. Misalnya vlc memiliki opsi dalam preferensi yang memberikan kesempatan untuk memulainya diminimalkan. Tetapi juga memiliki opsi di command line untuk memulainya diminimalkan (seperti parameter). Pilihan untuk meminimalkan juga berubah tergantung pada program. Beberapa program mungkin yang program -minlain mungkin program -systray, dll. Verifikasi bahwa Teamviewer misalnya memiliki opsi untuk ini dalam opsi gui. Jika program memiliki parameter meminimalkan baris perintah, tambahkan saja ke manajer start up.

Luis Alvarado
sumber
Teamviewer menggunakan Wine untuk mendukung berjalan di Linux. Karena versi Windows tidak menerima parameter baris perintah, versi Linux juga tidak. Juga, jika seseorang meminimalkannya ke baki, itu akan menggunakan ikon Wine, kecuali disediakan dengan yang lain oleh alat apa pun yang digunakan.
Greg Chabala
1

Saya juga meminimalkan Teamviewer ke baki saat startup, tapi saya menggunakan KDocker .

sudo apt-get install kdocker

Skrip startup saya adalah satu baris:

kdocker -n Teamviewer -i /opt/teamviewer/teamviewer/7/desktop/teamviewer.png -d 40 /usr/bin/teamviewer7 &
  • -n adalah nama jendelanya
  • -i adalah file ikon
  • -d adalah batas 40 detik, setelah itu kdocker akan menyerah jika tidak dapat menemukan jendela yang cocok
Greg Chabala
sumber
0

Sejak Teamviewer 8.0.20931 ada otomatis meminimalkan fungsi baki sistem. Tapi di Gnome classic itu akan membuat Wine System Tray dan saya tidak tahu, bagaimana menguranginya. Saya mencoba skrip (disimpan sebagai ~ / .devilspie / wine.ds):

( if 
( begin 
( is ( application_name ) "Wine" )
( is ( window_name ) "Wine System Tray" )
) 
( begin 
( minimize )
( println "match" )
)
)

... tapi tidak berhasil

Dengan Teamviewer 8.0.20931 baru untuk Linux, bahkan masuk ke layar masuk Linux berfungsi - saat belum ada pengguna yang belum masuk. Tetapi setelah beberapa saat ketika Anda masuk dan keluar dua kali atau lebih - Anda tidak dapat terhubung ke Teamviewer. Anda harus memiliki akses jarak jauh melalui baris perintah untuk melakukan restart ke komputer - kemudian berfungsi lagi.

zeroconf
sumber
0

Devilspie tidak bekerja di sistem saya karena suatu alasan. Akhirnya, saya menemukan pengganti (tidak begitu elegan). Saya menginstal wmctrl:

sudo apt-get install wmctrl

Menggunakan wmctrl -lmenemukan nama-nama windows, saya ingin menutup saat startup. Setelah itu, masukkan perintah itu ke dalam skrip (buat file kosong baru dan beri nama .<...>.sh. Dot di awal nama untuk menyembunyikannya):

wmctrl -c <Window_1>
wmctrl -c <Window_2>
wmctrl -c <Window_3>

Akhirnya, menambahkan file ini ke aplikasi startup beberapa detik setelah target.


Perhatikan, bahwa perintah ini menutup windows. Untuk memulai program yang diminimalkan, pada ets ruang kerja yang berbeda, temukan opsi yang sesuai dalam manual program.

Sergey
sumber
Kecuali Anda membuatnya "dengan cerdas" menunggu jendela, kesuksesan akan tergantung pada waktu antara tampilan jendela dan perintah untuk meminimalkan. Seperti yang dikatakan, lebih baik membuatnya dengan cerdas menunggu jendela, kalau tidak, itu tidak akan berfungsi ketika sistem Anda ditempati (dan dengan demikian lebih lambat). Juga, ada risiko bentrokan nama, karena Anda tidak menggunakan id jendela, tetapi (bagian dari) nama itu sebagai pengidentifikasi. lihat askubuntu.com/a/663288/72216
Jacob Vlijm
Saya setuju dengan kamu. Saya bahkan telah memposting versi skrip saya di sana. Saya masih menggunakan ini untuk timviewer.
Sergey
0

Solusi kerja 2017!

Saya berasal dari edisi Manjaro (XFCE), tetapi karena ini adalah solusi lintas-linux dengan devilspie, jadi ini adalah solusi lengkap untuk memulai pemantau tim yang diminimalkan:

  1. Terminal terbuka

  2. Instal devilspiepaket:

    apt-get install devilspie
  3. Buat folder rumah:

    mkdir ~/.devilspie
  4. Buat skrip berikut (gunakan editor yang Anda inginkan alih-alih nano):

    nano ~/.devilspie/teamviewer.ds
  5. Rekatkan skrip berikut dan simpan file (untuk nano- CTRL + x , lalu Y , Lalu ENTER ):

    ( if
    ( begin
    ( is (application_name) "Teamviewer")
    ( is (window_name) "TeamViewer")
    )
    ( begin (close) )
    )
    1. Dari devilspieperspektif semua langkah dilakukan, tetapi jendela samping "Komputer & Kontak" akan tetap ditampilkan pada setiap startup. Untuk menyembunyikannya, buka:

TeamViewer -> Ekstra -> Opsi -> Tingkat Lanjut -> "Tampilkan opsi lanjutan" -> "Tampilkan Komputer & Kontak saat mulai" (Ada di bawah "Pengaturan lanjutan untuk bagian Komputer dan Kontak) dan hapus centang.

Langkah-langkahnya adalah untuk TeamViewer 12 . Dalam versi selanjutnya mereka mungkin berbeda.

CATATAN:

Menggunakan (meminimalkan) alih-alih (tutup) dalam skrip devilspie membuat saya "TeamViewer tidak siap. Silakan periksa koneksi Anda" kesalahan dan tanpa me-restart layanan tim viewer tidak berfungsi.

Erikas
sumber
0

dalam versi baru program sudah memiliki ikon di baki, tetapi dua jendela utama program muncul saat startup. Jadi saya menggunakan skrip ini

#! /bin/sh

/opt/teamviewer/tv_bin/TeamViewer &
sleep 10
TV_WIN_ID=$(xdotool search --name TeamViewer)
TV_WIN_ID2=$(xdotool search --name 'Компьютеры и контакты')

if [ -n "$TV_WIN_ID" ] ; then
 sleep 1
 xdotool windowactivate $TV_WIN_ID
 xdotool key Alt+F4  
else
 exit 1
fi
if [ -n "$TV_WIN_ID2" ] ; then
 sleep 1
 xdotool windowactivate $TV_WIN_ID2
 xdotool key Alt+F4  
 else
exit 1
fi
Andrey
sumber