Questions tagged «osx»

macOS(以前称为“ Mac OS X”和“ OS X”)是Apple Inc.自2001年以来开发和发行的Unix。

1
真正的非“更好的触摸工具”解决方案,可在Mac OS X上进行选择复制
我最近搬到了Mac。我缺少X11复制粘贴样式。我找不到在Mac OS X上全局模拟X11行为“选择复制”,“单击中间键粘贴”的方法 。我知道这个问题已经存在很长时间了,但是我找不到任何真正的杀手级解决方案。 我发现最好的是在Mac OS X上可以通过突出显示进行复制并通过单击鼠标中键粘贴吗?。所有建议的解决方案都试图找到一种通过单击鼠标中键从剪贴板粘贴文本的方法。但是,没有人有自动复制突出显示的文本的真正解决方案。 我想知道是否可以自动复制突出显示的文本。即使我应该编写一个守护程序来执行此操作。任何从哪里开始思考的指针都会很棒。
11 x11  osx  mouse  copy-paste 

3
tmux不着色PS1提示
我最近决定更改PS1变量,以适应​​一些漂亮的日晒颜色,以使我的终端观看愉悦。当不在tmux会话中时,一切都很好!彩虹,小马,独角兽和明显的提示!凉! 问题出在tmux之内。我已经验证了PS1的值是我期望的值,并且与tmux未运行时的值相同,即\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]。 我的.bash_profile中的所有别名等也都按预期运行。tmux还在显示颜色而不会发生意外,echo -ne "\033[1;33m hi"正如预期的那样gls --color。 我的.bash_profile中当前相关的行是export PS1="\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]",尽管最初我是在.bash_prompt文件中寻找一个脚本来处理一些条件的,等等。我试图恢复到较简单的版本。 执行bash将导致提示变色,但是必须在每个窗格中完成。export PS1=[that long string I've already posted]将不会。 我的.tmux.conf如下: set-option -g default-command "reattach-to-user-namespace -l /usr/local/bin/bash" set -g default-terminal "xterm-256color" set-window-option -g automatic-rename on bind '"' split-window -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}" .bash_profile的相关部分: …
11 bash  osx  tmux  prompt 

3
Unix邮件命令不发送电子邮件
我在尝试使用unix mail命令发送电子邮件时遇到麻烦。目前,我正在尝试: echo "something" | mail -s "test mail" email@address.com 但是,当我查看电子邮件时,仍未收到。 我该如何运作?我正在使用Mac OS X 10.7
11 osx  email 

2
如何使用sed保持彩色输出
我正在使用该sed命令,并且希望保留前一个命令的彩色输出。的输出ls是彩色的,但sed的输出不是。我正在使用OSX。 ls -la | sed -En '/Desktop/q;p'
10 sed  osx  pipe  ls  colors 

2
为什么在现代Linux上,默认堆栈大小如此之大-8MB(在某些发行版中甚至为10MB)
例如,在OSX上,它甚至不到512k。 有没有建议的大小,请记住,该应用程序不使用递归并且不分配很多堆栈变量? 我知道这个问题太广泛了,它很大程度上取决于用法,但是我仍然想问,因为我想知道这背后是否存在一些隐藏的/内部的/系统的原因。 我想知道,因为我打算在我的应用程序中将堆栈大小更改为512 KiB-听起来仍然很大,但它比8MiB小得多-并会导致进程的虚拟内存显着减少,因为我有很多线程(I / O)。 我也知道这并没有真正的伤害,请在此处进行详细说明:pthreads的默认堆栈大小


2
grep单字母单词的奇怪行为
我正在使用大致的代码从文本中删除停用词 我有以下 $ cat file file types extensions $ cat stopwords i file types grep -vwFf stopwords file 我期待结果: extensions 但我得到了(我认为不正确) file extensions 就像file停用词文件中已跳过该词一样。现在,这里的凉爽一下:如果我修改停用字词档案,通过改变单个字/字母i在第一行,其他任何ASCII字母以外f,i,l,e,那么同样grep命令给我的不同,正确的结果extensions。 这是怎么回事,我该如何解决? 我在Mac OSX GNU bash 4.4.12(1)版上使用grep(BSD grep)2.5.1-FreeBSD
10 grep  osx  freebsd 

2
“ echo $ PATH”和/ etc / paths有什么区别?
当我回声$ PATH我得到这个:Users/myusername/.node_modules_global/bin:/Users/mac/.node_modules_global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mac/Library/Android/sdk/platform-tools:/platform-tools。 我想从中删除一些路径,但是当我使用命令打开文件时vim /etc/paths,得到以下结果: /usr/local/bin /usr/bin /bin /usr/sbin /sbin 文件/ etc / paths是否与$ PATH变量不同?
10 osx  path 

1
OS X,bash:较少用于打开文件描述符,而cat不
在我正在使用的bash脚本中(必须在Ubuntu和OS X上运行),我需要将数百个命令的输出重定向到文件。 与其附加&>...到所有这些,不如做 exec 9>&1 exec 5<>/tmp/some-file.txt exec 1>&5 到目前为止,一切顺利,但是在所有这些命令的中间,我需要读取到目前为止已编写的所有内容,同时保持文件描述符处于打开状态。 现在,在Ubuntu上,我可以做 cat /dev/fd/5 要么 tee </dev/fd/5 但是在OS X上,什么也没打印(命令立即退出)。 但是,使用lessI可以看到两者的文件内容。 我可以通过使用以下命令来达到上述效果(在两个操作系统上均有效) less /dev/fd/5 | tee 但这似乎是一个hack。 那么,为什么less显然可以看到catOS X上无法显示的内容?(或者所有BSD后代都受到影响吗?) 还是我做错了什么?

3
为什么root不提供.bash_profile文件?
每次我尝试使用su(not su -)作为root用户登录时,它都不来自.bash_profileuser1的主目录。 基本上,我的/var/root目录没有.bash_profile,所以我将.bash_profilein 的副本放入/var/roottest中su -。 它也不会自动.bash_profile(在中var/root)提供源。 无论如何,我想.bash_profile在使用时自动将user1 设为root帐户su。 我该怎么办? (它曾经工作过!有一天,它只是没有来源!也许bash中的设置发生了变化?source .bash_profile登录后进入时可以工作。) 我正在使用Mac和OS X Yosemite。
10 osx  root  bashrc  su 

2
在Mac上安装Linux时,我应该注意什么?
我有一个Macbook Pro,但我很喜欢它,尽管我仍然想念我的Linux机器,但是我需要很多东西,它们与Mac OS X并不完全兼容。我听到了很多关于在Mac OS上安装Linux的故事,有人说这是这不是问题,但其他一些人则倾向于不同的说法。 我的问题是,在Mac OS计算机上安装Linux是否合适?优缺点都有什么? 我对虚拟机非常了解,但是说实话,当它们在物理硬件上运行时,它们运行得并不好。

1
zsh完成:从特定目录获取文件名
好的,有一点背景知识:我使用的是Mac,并且在CLI中做了很多事情。 特别是,我经常弹出USB记忆棒cp或mv文件,然后立即希望弹出(卸载和断开连接)它。通常,可以通过几次击键来完成操作,除了进行卸载外,这需要(在10.7中)进入一个空的桌面空间(通常至少两个空间),选择磁盘,然后按“ command-e”。坦白地说,这种卸载过程是该过程中最耗时且最繁琐的部分,数量级高。 只需键入以下内容,这将更加自然和有效: ej<tab> J<tab> 说我的USB记忆棒安装在/ Volumes / Jefferson。我希望从6次击键中得到以下结果: eject /Volumes/Jefferson 这应该运行以下命令: diskutil unmount /Volumes/Jefferson 因此,我编写了一个不错的小函数: eject() { diskutil unmount /Volumes/$1 } 还有一个完成功能: compdef '_files -g "/Volumes/*"' eject 但是,这有一个问题。该_files函数生成完整的路径。现在,我可以将“ eject”函数中的行更改为diskutil unmount $1,一切都会正常进行,但是由于路径以/ Volumes /开头,所以我无法键入安装点名称的第一个字母。例如,如果键入J<tab,我将为PWD中的文件自动补全。我将不得不键入/Volumes/J<tab>以获得所需的完成。 因此,是否有一个完成功能可以从预定义的特定位置获取文件名,而不是生成完整路径? 我真的很想把这个减少到6次击键。
10 zsh  osx  autocomplete 

2
emacs-从剪贴板粘贴文本而无需格式化
我正在将Emacs 24用于macOS。我在将代码从剪贴板粘贴到Emacs时遇到问题。我通常选择的代码已经很好地格式化了(带有tab,indent等)。 但是,当我将其粘贴到Emacs时,这会重做格式设置,因此对于成千上万行代码而言,它非常慢。 有没有一种方法可以从剪贴板粘贴而不格式化?

3
判断文件夹/文件是否在Mac OS X中隐藏
我知道你可以设置或取消设置做一个文件夹/文件的隐藏标志chflags hidden foo.txt和chflags nohidden foo.txt。 但是,有没有办法告诉您该文件夹/文件当前是否处于隐藏状态? 我不想只是确定文件夹/文件是否以点开头。
10 files  osx  ls  xattr 

1
macOS Mojave目录权限
MacOS Mojave已将SIP的作用扩展到用户的主目录中。默认情况下,拒绝访问用户主目录中的许多目录。这些目录的一些示例如下。 ~/Library/Messages ~/Library/Mail ~/Library/Safari [… etc.] 为了从终端访问这些目录,必须在系统偏好设置>安全性和隐私>隐私>全磁盘访问中定义终端应用程序。除了我系统上的以下目录外,该配置均有效。容器中的其他数据可能存在相同的行为-不确定。 ~/Library/Containers/com.apple.mail/Data/DataVaults 有趣的行为易于再现。该目录甚至不可见。 cd ~/Library/Containers/com.apple.mail/Data ls ls: DataVaults: Operation not permitted 我曾经将rsync主目录镜像到外部硬盘驱动器;但是,我不能再这样做了,因为rsync抱怨“遇到IO错误-跳过文件删除”,这破坏了镜像效果。我找不到有关此问题的任何文档。苹果公司的支持不知道。为什么这个目录很特殊?如何在不禁用SIP的情况下访问它? 禁用SIP的进一步调查结果 根据系统信息,Mojave升级是在2018年9月24日进行的。该目录也是在同一天创建的。我的用户拥有目录,职员组是组所有者。它的许可权是0700。它具有扩展的属性,如@符号所示。没有ACL。没有标志。 xattr -l ~/Library/Containers/com.apple.mail/Data/DataVaults com.apple.quarantine: 0082;00000000;Mail; com.apple.rootless: Mail ls -lO DataVaults (no result; exit 0) 禁用SIP,删除目录并重新启用SIP后,打开邮件后,目录将以相同的权限重新出现。Mail(版本12.0(3445.100.39))没有插件。 2018年10月16日全新安装的结果 格式化并重新安装后,该目录不存在。我仍然不知道它是如何开始的。 2019年3月29日升级的结果 与升级到Mojave 10.14.4(18E226)和/或Mail版本12.4(3445.104.8)一致,该目录已重新出现。
10 permissions  osx 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.