terminal-befehl zum ausführen von apps, die an die unity-leiste gebunden sind
<p>ich möchte tastaturkürzel für apps anpassen, die an meinen unity launcher (in ubuntu 16.04) gebunden sind. was ist die befehlszeile, um die zweite angeheftete app auszuführen? das dritte (etc.)?</p><p>jeder hinweis wird sehr geschätzt.</p><hr><p><strong>edit 1</strong></p><p>wie von @celticwarrior gezeigt, sollte super + 1-9 den trick machen. aus irgendeinem grund funktionierten diese bindungen nicht mehr, als ich ein upgrade auf 16.04 durchführte (14.04 funktionierte einwandfrei). aus diesem grund wollte ich die verknüpfung entsprechend anpassen.</p><hr><p><strong>edit 2</strong></p><p>mit compiz config settings manager kann ich super + alt zuweisen, um den dash anzuzeigen. durch hinzufügen von 1 bis 9 werden jetzt die angehefteten apps gestartet. (ich kann nicht einfach super zuweisen, um den dash anzuzeigen. beim zurücksetzen auf die standardeinstellung wird jedoch die zuweisung des schlüssels aufgehoben.)</p>
<h3>das kernproblem angehen</h3><p>soweit die ursache ihres problems mit <kbd>super</kbd>+<kbd>number</kbd> schlüssel bleiben unbekannt, aber ich bin der festen überzeugung, dass sie prüfen müssen, ob die <kbd>super</kbd> der schlüssel ist unter unity plugin im compiz config settings manager aktiviert. (erhältlich über den befehl <code>sudo apt-get install compizconfig-settings-manager</code>).</p><p>der befehlszeilenansatz würde über diesen befehl erfolgen:</p><pre><code>dconf reset /org/compiz/profiles/unity/plugins/unityshell/show-launcher </code></pre><hr><h3>adressierung der titelfrage</h3><p>um jedoch die titelfrage zu beantworten, die sie haben, nämlich ob es ein befehlszeilentool zum öffnen eines programms aus unity launcher gibt. . . naja, so ein tool gab es bisher nicht. das unten angegebene skript führt genau diese funktion aus.</p><h3>verwendung</h3><p>wie bei der option <code>-h</code> angegeben:</p><pre><code>$ ./open\_launcher\_item.py -h usage: open\_launcher\_item.py [-h] -i item optional arguments: -h, --help show this help message and exit -i item, --item item position of app on the launcher </code></pre><p>wenn sie also die erste app auf dem launcher starten möchten, tun sie dies</p><pre><code>./open\_launcher\_item.py -i 0 </code></pre><p>wenn sie einen zweiten artikel wünschen,</p><pre><code>./open\_launcher\_item.py -i 1 </code></pre><p>speichern sie das skript im ordner <code>~/bin</code>, damit es funktioniert. wenn sich in ihrem ordner <code>/home/user</code> kein ordner <code>bin</code> befindet, erstellen sie einen. stellen sie sicher, dass das skript über den befehl <code>chmod +x ~/bin/open\_launcher\_item.py</code> oder durch klicken mit der rechten maustaste auf die datei im grafischen dateimanager ausführbar ist, und aktivieren sie "ausführung als programm zulassen" auf der registerkarte "berechtigungen".</p><p>damit es für tastenkombinationen funktioniert, müssen sie 9 tastenkombinationen erstellen und für jede von ihnen den entsprechenden befehl mit <code>-i 0</code>, <code>-i 1</code> usw. bis <code>-i 9</code>. bitte beachten sie, dass sie <strong> vollständiger pfad</strong> zum skript verwenden müssen, d. h. <code>/home/user/bin/open\_launcher\_item.py -i 1</code></p><h3>skriptquelle</h3><p>auch verfügbar auf <a href="https://github.com/sergkolo/sergrep/blob/master/open\_launcher\_item.py">github</a> </p><pre class="lang-py prettyprint-override"><code>#!/usr/bin/env python # -*- coding: utf-8 -*- # author: serg kolo , contact: 1047481448@qq.com # date: january 15th, 2017 # purpose: opens applications on unity launcher according to position # tested on: ubuntu 16.04 lts import gi gi.require\_version('gtk', '3.0') from gi.repository import gio,gtk import sys,argparse class applicationopener(gtk.application): def \_\_init\_\_(self): gtk.application.\_\_init\_\_(self,flags=gio.applicationflags.handles\_command\_line) self.args = none self.schema = 'com.canonical.unity.launcher' self.key = 'favorites' def gsettings\_get(self, schema, path, key): """get value of gsettings schema""" if path is none: gsettings = gio.settings.new(schema) else: gsettings = gio.settings.new\_with\_path(schema, path) return gsettings.get\_value(key) def get\_launchers(self): return [ i.replace('application://',"") for i in self.gsettings\_get(self.schema,none,self.key) if i.startswith('application://') ] def do\_activate(self): position = self.args.item launchers = self.get\_launchers() if position &gt; len(launchers): position = -1 try: gio.desktopappinfo.new(launchers[position]).launch\_uris(none) except exception as e: subprocess.call(['zenity','--error','oops! something went wrong:\n' + str(e)]) return 0 def do\_command\_line(self, args): parser = argparse.argumentparser() parser.add\_argument('-i', '--item', type=int,required=true, help='position of app on the launcher') self.args = parser.parse\_args(args.get\_arguments()[1:]) self.do\_activate() return 0 def main(): app = applicationopener() exit\_status = app.run(sys.argv) sys.exit(exit\_status) if \_\_== '\_\_main\_\_': main() </code></pre>
Jepp, du kannst dir **jedes** Programm auf eine Taste legen! Geh einfach mal auf (**Start > Alle Programme**) das Symbol des gewünschten Programms. Klick das Icon mit der rechten Maustaste an und wähle aus dem Kontextmenü den Eintrag **Eigenschaften**. Im Register **Verknüpfung** siehst du nun ein Feld **Tastenkombination**. Klicke einmal mit der Maus in dieses Feld. Nun drückst du die Tastenkombination, mit der du künftig den Internet Explorer starten willst. In dem Feld kannst du die gedrückte Tastenkombination direkt sehen. Schließe das Dialogfeld mit **OK** um die gemachten Eingaben anzunehmen. soweit ich das hier sehe:
https://www.reddit.com/r/oneplus/comments/9yl9mh/what\_is\_wifi\_coverage\_extend\_feature/
https://forums.oneplus.com/threads/dev-feature-enable-wi-fi-coverage-extend-feature-android-9-6t.935712/

wird damit dein gerät zusätzlich zum repeater des aktuell verbundenen wlans.
ssid und passwort bleiben gleich, nur dein gerät öffnet zuätzlich ein 2. wlan mit gleichen daten um die reichweite zu verstärken. (kostet natürlich akku)
der link geht zwar aufs oneplus ein, aber ich denke das ist bei android 9 überall der fall. hast du unbekannte dateien ausführen unter einstellungen angemacht? muss häckechen sein. ansonsten musst du zum installieren der APK-Dateien das programm AppsInstaller vom AndroidMarkt holen und installieren <p>das paket <a href="http://packages.ubuntu.com/search?keywords=unattended-upgrades">nbeaufsichtigte upgrades</a> bietet funktionen zum automatischen installieren von sicherheitsupdates.</p><p>sie können dies verwenden, aber anstatt den automatischen teil zu konfigurieren, können sie ihn manuell aufrufen:</p><pre><code>sudo unattended-upgrade -d --dry-run sudo unattended-upgrade -d </code></pre><p>wenn sie es stattdessen ruhig ausführen möchten:</p><pre><code>sudo unattended-upgrade </code></pre><p>hinweis: wenn sie das unbeaufsichtigte upgrade aufrufen, lassen sie das "s" am ende stehen.</p><p>dies setzt voraus, dass das paket standardmäßig installiert ist, was wahrscheinlich auch so ist. wenn nicht, machen sie einfach:</p><pre><code>sudo apt-get install unattended-upgrades </code></pre><p>siehe auch <code>/usr/share/doc/unattended-upgrades/readme.md</code>.</p> so wie gewünscht, geht das ganz einfach = wenn die seitenummer auf seite 3 beginnen soll, dann so= auf die seite 2 mit dem curser gehn- dann -einfügen-manueller umbruch-seitenumbruch-vorlage - erste seite - seitennummer ändern-1 setzen - bestätigen- fertig, nun kann man deckblatt usw. bearbeiten. so nun ist die seite drei die erste seite= einfügen - fußzeile -standard- ok. einfügen-feldbefehl-seitennummer - ok. fertig. das geht natürlich so auch nach dem selbensystem mit der kopfzeile. mfg.m. Hallo,   
  
zum wahrscheinlich tausendsten mal.   
  
Gehe auf die drei Balken, oben rechts, dann auf Einstellungen.   
  
Nun, "Beim Start" bestimmte Seite oder Seiten öffnen, "Seite festlege".   
  
Alles andere löschen !!!!!!!!!   
  
Nun bei "Suche" Google festlegen.   
  
Das war es.   
  
Gruß <h2>aufgrund der empfehlungen in den kommentaren habe ich begonnen, <a href="http://tools.tortoisesvn.net/grepwin.html">grepwin</a> zu verwenden, und es ist fantastisch und <em> kostenlos</em>.</h2><hr><p>(ich bin immer noch ein fan von <a href="http://www.powergrep.com/">powergrep</a> , aber ich benutze es nicht mehr.)</p><p>ich weiß, dass sie es bereits erwähnt haben, aber powergrep ist <strong> fantastisch </strong>.</p><p>einige meiner lieblingsfunktionen sind:</p><ul> <li>klicken sie mit der rechten maustaste auf einen ordner, um powergrep darauf auszuführen</li> <li>verwenden sie reguläre ausdrücke oder wörtlichen text</li> <li>geben sie platzhalter für dateien an, die ein- und ausgeschlossen werden sollen</li> <li>suchen &amp; ersetzen</li> <li>der vorschaumodus ist gut, da sie sicherstellen können, dass sie das ersetzen, was sie beabsichtigen.</li> </ul><p>jetzt ist mir klar, dass die anderen grep-tools all das tun können. es ist nur so, dass powergrep alle funktionen in einer sehr benutzerfreundlichen benutzeroberfläche zusammenfasst.</p><p><strong> <em> von den gleichen wundervollen leuten, die sie mitgebracht haben <a href="http://en.wikipedia.org/wiki/regexbuddy">regexbuddy</a> und denen ich nichts mehr zu tun habe, als ihre sachen zu lieben.</em> </strong> (es sollte beachtet werden, dass regexbuddy eine basisversion von grep (für windows) selbst enthält und viel weniger kostet als powergrep.)</p><hr><h2>zusätzliche lösungen</h2><h3>vorhandene windows-befehle</h3><ul> <li> <a href="http://ss64.com/nt/findstr.html"> findstr </a> </li> <li> <a href="https://technet.microsoft.com/en-us/library/hh849903.aspx">auswahlzeichenfolge</a> in powershell</li> </ul><h3>linux-befehlsimplementierungen unter windows</h3><ul> <li> <a href="http://en.wikipedia.org/wiki/cygwin">cygwin</a> </li> <li> <a href="https://github.com/dthree/cash">bargeld</a> </li> </ul><h3>grep-tools mit grafischer oberfläche</h3><ul> <li> <a href="http://astrogrep.sourceforge.net/screenshots/">astrogrep</a> </li> <li> <a href="https://www.baremetalsoft.com/baregrep/">baregrep</a> </li> <li> <a href="http://stefanstools.sourceforge.net/grepwin.html">grepwin</a> </li> </ul><h3>zusätzliche grep-tools</h3><ul> <li> <a href="http://code.google.com/p/dngrep/">dngrep</a> </li> </ul> Du klickst den zu kopierenden Tab mit der linken Maustaste an, hältst sie gedrückt, verschiebst den Tab zur Seite, drückst dann auf der Tastatur die "Strg"-Taste, lässt die Maustaste los und danach die "Strg"-Taste. <p>die standardmethode für die angabe des objekttyps ist entweder <a href="http://search.cpan.org/perldoc?perlfunc#ref"><code>ref</code></a> oder <a href="http://search.cpan.org/perldoc?scalar::util"><code>scalar::util</code></a> <code>::blessed</code>. wenn sie<em> wissen </em>das objekt gesegnet ist, geben sie dieselbe information zurück. </p><pre><code>my $class1 = blessed( $obj ); my $class2 = ref $obj; </code></pre><p><code>ref</code> gibt jedoch auch 'hash' für nicht gesegnete hashes zurück, während <code>blessed</code> dieses spiel ablehnt. </p><p>für eine liste von methoden ist es für den gesegneten zeigerstil eines perl-objekts einfach, eine davon selbst zu codieren. der folgende code funktioniert ziemlich gut für mich. es gibt die namen der funktionen (diejenigen, die den &quot;code-slot&quot; des angegebenen namens annehmen) zurück, die dem paket zugeordnet sind, das sie definiert. </p><pre><code>sub class\_methods { use class::isa; my $obj = shift; return unless ref( $obj ); my %meth\_names; foreach my $anc ( class::isa::self\_and\_super\_path( ref $obj ), 'universal' ) { my $stash = \%{"$anc\::"}; my @funcs = grep { m/^[\_\p{alpha}]/ # begins with \_ or alpha &amp;&amp; !exists $meth\_names{$\_} # no clobbering &amp;&amp; defined *{$stash-&gt;{$\_}}{code} # has a filled code slot } keys %$stash ; # assign to the "hash slice", keyed by all the entries in @funcs # the value of $anc repeated as many times as elements in @funcs. @meth\_names{@funcs} = ( $anc ) x @funcs; } return %meth\_names; } </code></pre><ul> <li><p>dies funktioniert auch für relativ komplexe objekte, aber wenn das besitzende paket eine menge generierten codes enthält, ist es nicht besonders hilfreich zu wissen, in welchem ​​paket die generatoren den code-pointer stecken. es wird mehr bedeuten, welches paket zu finden ist generiert den code. </p></li> <li><p>ist dies der fall, erhalten sie<em> might </em>den code aus der ausführung ihres codes, einschließlich <a href="http://search.cpan.org/perldoc?data::dumper"><code>data::dumper</code></a> und setzen von <code>$data::dumper::deparse</code> auf 1 wie folgt: (<code>local $data::dumper::deparse = 1;</code>) und dann den code-zeiger wie folgt: <code>say dumper( $code\_ref );</code></p></li> <li><p>es<em> won't </em>funktioniert für gültige methoden, die noch mit einer beliebigen <code>autoload</code>-methode erstellt werden müssen. wenn sie diese in der liste sehen, macht das objekt möglicherweise mehr, aber was es alles tut, wissen sie nicht.</p></li> <li><p>die &quot;basisklasse&quot; <code>universal</code> ist enthalten, da diese klasse verhalten enthält, das vom objekt verwendet werden kann. </p></li> </ul><p>viel glück.</p> Auf der Fernbedienung müsste ein Knopf mit einem eingezeichneten Display sein in dem im unteren drittel Pünktchen eingezeichnet sind. Dieser Knopf müssten Sie drücken und dann sollte der Untertitel ausgeschaltet sein.