İki monitörlü kurulumda bir terminalin ikinci ekrana yansıtılması nasıl yapılır?


25

İki monitörlü bir kurulum kullanmayı öğretiyorum, bu yüzden masaüstümde gördüğüm şey izleyicilerimin görebileceğinden farklı. Bu sunumlar için iyi çalışır: öğrenciler slaytları görürken notlarımı da görebilirim.

Ancak bir kabuk çalıştırmak için bir terminal kullanmak istiyorum. Ancak terminalin masaüstümde VEYA dış ekranda olması gerekiyor.

Terminal içeriğini her iki ekranda aynı anda göstermenin bir yolu var mı? Ekranları yansıtmak istemiyorum, ancak iki monitör moduna geçin.

Herhangi bir ipucu?

Gnome ile Ubuntu kullanıyorum.


Peki, masaüstünüzü aynalayabilir ve terminal emülatörünü gösterebilirsiniz, bu, sadece terminali çalıştığı sürece herhangi bir şekilde göstermek istiyorsanız, bu bir yoldur. Özellikle TTY hakkında mı konuşuyorsun? Sonra zaten ekran ve tmux için mevcut iki cevap çalışabilir. Gerçekten ihtiyaçlarınıza bağlı
Sergiy Kolodyazhnyy

Bir kopya değil, çünkü bu soru özellikle başka seçeneklerin mevcut olduğu terminallerle ilgilidir (örn. Ekran, tmux), ancak bu soru çok yakından ilgilidir ve bu sorunun cevabını da çözmelisiniz.
psmears

@Sergiy Kolodyazhnyy: Masaüstünü yansıtmak istemiyorum çünkü sunumu bozuyor. Ayrı ekranlara döndüğümde, slaytlar artık ekrana sığmıyor; bazen slaytlar masaüstüme gider. tmux benim için iyi çalışıyor.
Jander,

Yanıtlar:


15

Taşınabilir Çözüm

Kullanın script! Örneğin:

Kişisel terminal:

> script -f /tmp/lecture1.scrpt #use -F instead on MacOS
> ... #start doing things here!

Sunum terminali:

> #after this, terminal will continuously print whatever's written to personal terminal
> tail -F /tmp/lecture1.scrpt

Nasıl çalışır

scriptTerminal ekranına yazılan komut her şeyi kopyalar (yazdıklarınıza dahil!) Bir parametre olarak alan bir dosya içine. Normalde herşey, sen komut dosyasını bitirdikten sonra (yazarak exit) dosyaya yazılır . Ancak, -fopsiyon neden olur script(MacOS üzerinde, bu olacak her yazılmasından sonra onun tampon temizlemek -Fya -t 0). Ardından sunum terminalinde, tail -Fiçerikleri yazıldıkları gibi sürekli görmek için kullanabilirsiniz .


Dikkat Edilmesi Gerekenler

  • Bir terminal bir dosyaya yazarken diğeri de okuduğundan, bu farklı kullanıcılar arasında yapılabilir! Bu, çok az izne sahip birisinin ssh alabileceği ve komut dosyasını okuyabileceği bir yere yerleştirdiğiniz sürece, onlara sunabileceksiniz demektir. (örneğin: öğrencilerinizin erişebildiği bir sunucunuz varsa, yalnızca kendi ekranlarında izleyebilmeleri için onlar için okunabilecek bir .scrpt dosyası oluşturabilirsiniz)

  • Bu yöntemin doğası göz önüne alındığında, bir terminal sürüş ve diğeri sadece izliyor.

  • Bu yöntemde, aynayı bırakmayı, bazı gizli işler yapmayı ve kişisel terminalinizi terk etmeden tekrar mırıldanmaya başlamanızı kolaylaştırmak için ek bir bonus da var. Bu, aşağıdakilerle yapılabilir:

Kişisel terminal:

> exit #end script session; stop writing to /tmp/lecture1.scrpt
> ... #do secret things not safe for student eyes!
> script -f -a /tmp/lecture1.scrpt #begin writing again with -a to append

İle daha eğlenceli script!

Amacı, scriptterminal oturumunuzu daha sonra çalınabilmesi için kaydetmektir (biz sadece kayıt yaparken oynamanın özel bir hali olabiliriz). Buna yardımcı olmak için, ekrana yazılanlarla birlikte zamanlamayı kaydetme seçeneğine scriptsahiptir -t. Kullanmak için komut dosyası oturumunuzu şununla başlatın:

> script -f -t 2>/tmp/lecture1.timing /tmp/lecture1.scrpt

Ve (zamanlama ile) ile geri oynayın:

> scriptreplay -t /tmp/lecture1.timing -s /tmp/lecture1.scrpt

Size hasta olacağını ve ders veremeyeceğini söyleyen e-posta ile gönderilen bir öğrenciniz var mı? Ya da sadece öğrencilerinize daha fazla ders materyali vermek mi istiyorsunuz? Konuşma sırasında sesinizi kaydederseniz (ve senaryoyu kayıtla aynı anda başlatırsanız), öğrencileriniz terminal oturumunuzu sesinizle çalabilir ve tam ders deneyimini yaşayabilir!

Tüm videolarını 2x hızında oynatmayı seven bir öğrenciniz var mı? scriptreplayçalma hızını çarptığı bir "bölen" alıyor! Sadece -d 22x hızda oynamaya geçin (bunun iki kat değer olduğunu unutmayın, bu yüzden -d .5yarı hız bile yapabilirsiniz !).


Vay ilginç! Şaşırtıcı olan şey, bu durumun geçmişe göz atma, silme, renk ... kusursuz şekilde işlediği görülüyor. Bunun mümkün olduğunu düşünemezdim tail. ( tmuxUygulamada hala daha iyi olduğunu düşünüyorum , çünkü örneğin bir editör oturumu ile de bir sorunu yok.)
leftaroundabout

Gerçekten ilginç bir yaklaşım! İken, pencere boyutu değişiklikleri işleyebilir tmuxve screen, bildiğim kadarıyla söyleyebilirim olamaz.
Jander

Buradaki sihir @leftarounda aslında gerçekte ne kadar az tailşey yaptığını gösteriyor. Bir komut dosyasına benzeyen bir şeye bakarsanız vimya da lessekran kaydırmayı ve karakter yerleşimini kontrol etmeye çalıştığından çirkin kaçışlar eklediğini göreceksiniz.
scohe001

@leftaroundabout tarafından "editör oturumu" gibi bir şey demek istiyorsun vim? Söyleyebileceğim kadarıyla, bu iyi çalışıyor gibi görünüyor (sunum terminali kişisel terminalden büyük olduğu sürece)
scohe001

35

Zarif bir yolu, kullanmaktır tmuxbu görev için: sudo apt install tmux. İşte bir örnek:

  • Adlı bir oturum oluşturun my_session( -doluşturma sırasında eklemek için kaldırın ):

    tmux new-session -d -s my_session
    
  • Bir veya daha fazla yeni terminal penceresi açın ve aynı oturuma ekleyin:

    tmux attach -t my_session
    
  • Bir oturum türünden ayırmak için:

    tmux detach
    

    Veya Ctrl+b tuşlarına basın , sonra bırakın Ctrlve tuşuna basın d.

  • Eklemeden oturuma bir komut göndermek için:

    tmux gönderme tuşları -t my_session "yankı Merhaba Dünya!" GİRMEK  Enter
  • Not exitoturumu kapanacak, içeriden yürütülen komutu.


27

İstediğinizi doğrudan elde etmek için herhangi bir yol düşünemiyorum - belki başkaları yapabilir. Ancak bir geçici çözüm düşünebilirim.

Yükleme screenile sudo apt install screen. İki terminali başlat. İlki, türünde screenve basın Alacağınız nag ekranında girin. İkincisinde, yazın screen -x.

Aynı içeriği etkili bir şekilde göstereceklerdir. Aynı terminal penceresi değil, aynı içerik olacak.

Ekran, arasında geçiş yapabileceğiniz birden fazla pencere gibi daha fazla püf noktası da yapabilir. Bu, mevcut özelliklerin hızlı bir öğreticisidir .


Üzgünüz, doğru cevap olarak iki cevap
seçemiyorum

1
Bu çok iyi :) :) Diğer cevabı kendim değiştirdim :)
vidarlo

4

pa4080'in tmux kullanmak için yukarıdaki cevabının yanı sıra , genişletilmiş bir versiyonunu da önermek isterim:

Arkadaşına bir dene. Ubuntu paketi olarak da mevcuttur. Tmux değişimi olarak kullanılabilse de, daha fazlasını da yapabilir: Terminal oturumunuzu ssh veya http (salt okunur veya tam paylaşım) üzerinden erişilebilen bir tmate kamu sunucusunu kullanarak çoğaltabilirim. Böylece öğrencileriniz ya projektör projeksiyonunuzu kullanabilir ya da kendi kişisel bilgisayar / tabletlerinde tarayıcılarında doğrudan terminal oturumunuzu salt okunur olarak görebilirler.


tmateilgi çekici görünüyor. İşte basit bir demo: youtube.com/watch?v=is_VpIx3Z4M
pa4080
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.